在ruby中的类中考虑以下代码:
def isDarkSide
true
end
isDarkSide
的返回值为true
但是,当我在以下代码上运行ruby -c
时:
def can_join_group? any
DeathStar::Tie::BOT, self, nil
end
我最终遇到以下错误:
dynamic constant assignment DeathStar::Tie::BOT, self, nil ^ Can't change the value of self DeathStar::Tie::BOT, self, nil ^ Can't assign to nil syntax error, unexpected '\n', expecting '='
但是,可以通过编写
来解决问题 def can_join_group? any
return DeathStar::Tie::BOT, self, nil
end
有人可以向我解释为什么我需要使用return关键字?我觉得我错过了一些重要的红宝石语言。
答案 0 :(得分:2)
要返回多个值,您应该使用显式return
或值数组。
1, 2, 3
甚至不是有效的Ruby语法。
def multi_return1
return 1, 2, 3
end
def multi_return2
[1, 2, 3]
end
multi_return1 == multi_return2
#=> true