class Abcattr_accessor :wordsdef initialize(words = "12345")@words = wordsenddef aaaif @words.nil?puts "..."endif @words.respond_to?("each")@words.each do |a|puts "Hello #{a}!"endelseputs "Hello #{@names}!"endenddef bbbif @words.nil?puts "..."elseif @words.respond_to?("each")@words.each do |a|puts "Hello #{a}"endelseputs "error"endendendk = Abc.newk.words = ["a","b","c","d"]k.aaak.bbb以上代码k.aaa 和k.bbb执行的结果为什么不一样?
1 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
ruby 里面的else if 的缩写方式是 elsif 没有中间那个e的
所以那句就当作 是elseif的方法,因为你测试的时候没运行到,所以没报错
- 1 回答
- 0 关注
- 1375 浏览
添加回答
举报
0/150
提交
取消