通过IRB会议:
words = []
#=> []
word||=""
#=> ""
words.push(word) until(word=gets.chomp)==""
#=> nil
words
#=> []
我认为word
设置为""
,然后被输入的用户输入覆盖,导致word
设置为{{1}再次。
我误解了""
word
的结果是什么?
答案 0 :(得分:4)
像ruby这样的语言由表达式组成。每个表达式都有一个返回值。 until
关键字是一个流控制工具,允许执行表达式“直到”满足某些条件。似乎statement until condition
形式的表达式返回nil
,无论statement
的返回值是什么。
在这种特殊情况下,您获得的nil
与分配给ẁord