Ruby 语言中的If elseif 和 else 语句使用问题?

class Abc
attr_accessor :words

def initialize(words = "12345")
@words = words
end

def aaa
if @words.nil?
puts "..."
end
if @words.respond_to?("each")
@words.each do |a|
puts "Hello #{a}!"
end
else
puts "Hello #{@names}!"
end
end

def bbb
if @words.nil?
puts "..."
elseif @words.respond_to?("each")
@words.each do |a|
puts "Hello #{a}"
end
else
puts "error"
end
end
end

k = Abc.new
k.words = ["a","b","c","d"]
k.aaa
k.bbb

以上代码k.aaa 和k.bbb执行的结果为什么不一样?

qq_笑_17
浏览 1329回答 1
1回答

牛魔王的故事

ruby 里面的else if 的缩写方式是 elsif 没有中间那个e的所以那句就当作 是elseif的方法,因为你测试的时候没运行到,所以没报错
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Ruby