2017-07-13 32 views
0

我刚开始学习如何编写代码,我试着运行一些基本的指令。 要开始,我有以下几点:为什么=>符号出现在我的代码中?

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

你的例子很难理解它的含义。尝试输入“1 + 2”。 – Stefan

回答

5

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

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

当你调用一个阵列上的each方法,打印输出的文本之后,你看到=> ["test", "words", "okay"]因为那是each方法的返回值(这可能是方便,因为它允许链接方法一起使用)。

作为一个实验,尝试运行不同的命令来查看它们的返回值是什么。什么是作业的回报价值? (E.G. a = 3)。你能想到任何有用的方法来使用返回值?

+0

有道理。非常感谢你的回答!我很高兴开始学习Ruby,这绝对是一次有趣的体验。你会碰巧对我应该如何选择语言提出任何建议,而不是仅仅写一些随机的代码段? – Trebond

+0

选择一个你感兴趣的东西的小项目(打印出一个乘法表,玩井字游戏,查看明天的天气),用红宝石实现它,擦亮它,重复。 – Puhlze

相关问题