为什么=>符号出现在我的代码中?

时间:2017-07-13 20:51:33

标签: ruby

我刚刚开始学习如何编写代码,并尝试运行一些基本指令。 首先,我有以下内容:

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"]

为什么=>出现在我的代码末尾的符号,它引用了我的字符串数组?据我所知,到目前为止,我知道=>可以用来将字符串分配给哈希中的符号(我认为),但符号的其他用途是什么以及为什么它在我的代码中呢?

1 个答案:

答案 0 :(得分:5)

您看到的=>是使用irb运行的任何命令的返回值的指示符。

因此,例如命令print 'hello'会导致hello=> nil,因为字符串' hello'输出到控制台(没有新行),print方法的返回值为nil。

当您在数组上调用each方法时,在打印输出文本后,您会看到=> ["test", "words", "okay"],因为这是each方法的返回值(这可能很方便,因为它允许一起链接方法。

作为一项实验,请尝试运行不同的命令以查看其返回值。作业的回报价值是多少? (E.G。a = 3)。您能想到使用返回值的任何有用方法吗?