我刚刚开始学习如何编写代码,并尝试运行一些基本指令。 首先,我有以下内容:
print 'hello'
v= "yes"
["test","words","okay"].
each do |v|
puts "This is the test word #{v}"
end
给了我以下输出
irb(main):053:0> print 'hello'
hello=> nil
irb(main):054:0> v= "yes"
=> "yes"
irb(main):055:0> ["test","words","okay"].
irb(main):056:0* each do |v|
irb(main):057:1* puts "This is the test word #{v}"
irb(main):058:1> end
This is the test word test
This is the test word words
This is the test word okay
=> ["test", "words", "okay"]
为什么=>出现在我的代码末尾的符号,它引用了我的字符串数组?据我所知,到目前为止,我知道=>可以用来将字符串分配给哈希中的符号(我认为),但符号的其他用途是什么以及为什么它在我的代码中呢?
答案 0 :(得分:5)
您看到的=>
是使用irb运行的任何命令的返回值的指示符。
因此,例如命令print 'hello'
会导致hello=> nil
,因为字符串' hello'输出到控制台(没有新行),print方法的返回值为nil。
当您在数组上调用each
方法时,在打印输出文本后,您会看到=> ["test", "words", "okay"]
,因为这是each
方法的返回值(这可能很方便,因为它允许一起链接方法。
作为一项实验,请尝试运行不同的命令以查看其返回值。作业的回报价值是多少? (E.G。a = 3
)。您能想到使用返回值的任何有用方法吗?