查询对象的能力:respond_to

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

创建一个对象 .. 名字是 obj .. 调用一下它的 talk 方法 .. 会提示在这个对象上还没有定义 talk 这个方法 .. 在对象的方法列表里面 ... 会有一个 respond_to? 这个方法 ... 它可以告诉我们对象是否可以对某个信息做出响应 ...

使用一下这个方法 ... 给它一个参数 ...参数的值是 talk ... 意思就是看一下 obj 这个对象是不是可以响应发送给它的 talk 这个信息 ..

obj.respond_to?("talk")

返回的值是 false ... 说明 obj 这个对象不能对 talk 信息做出响应 ...

再打开编辑器 .. 去写几行代码 .. 创建一个文件 .. .名字是 respond_to.rb ... 在这个文件里面创建一个对象 ... 名字是 obj ... 输出一个提示 ... 请输入命令:

把用户输入的信息交给 request 这个变量 ... 用一下 gets ... chomp ,可以去掉换行符 ...

然后做点判断 ... 问一下 obj 这个对象 ... 能不能对用户输入的信息做出响应 ... 可以的话,就再用一下对象的 send 方法,它可以发送信息给对象 ... 把表示用户输入的内容交给这个方法 ... 这里就是用 request 表示的内容 ..

else ... 不然的话 .. 输出一个 .. 不能执行这个命令 ..

在上面我们再为 obj 这个对象定义一个 talk 方法 ... 做的事就是输出一个 hello ~

运行一下这个小程序 ... 输入 talk ... obj 这个对象里面有 talk 这个方法,所以可以对 talk 信息做出响应 ... 这样就会调用 talk 方法 ... 结果就是输出了这个 hello ...

再运行一下 ... 输入一个 laugh ... 会输出一个 不能执行这个命令 .. . 因为对象不能对 laugh 这个信息做出响应 ...

查询对象的能力:respond_to《 Ruby 语言 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点