我复制并运行了以下代码,摘自《Ruby 编程:实用程序员指南》一书:
a = [ 1, 'cat', 3.14 ]
a[0]
书上说该程序应该提供1
,但它没有,它什么也没提供。然后,我尝试了下一个练习:
a = [ 'ant', 'bee', 'cat', 'dog', 'elk' ]
a[0]
a[3]
应该返回"ant"
并且"dog"
,但它仍然什么都不做。谁能告诉我我在哪里搞砸了?
我复制并运行了以下代码,摘自《Ruby 编程:实用程序员指南》一书:
a = [ 1, 'cat', 3.14 ]
a[0]
书上说该程序应该提供1
,但它没有,它什么也没提供。然后,我尝试了下一个练习:
a = [ 'ant', 'bee', 'cat', 'dog', 'elk' ]
a[0]
a[3]
应该返回"ant"
并且"dog"
,但它仍然什么都不做。谁能告诉我我在哪里搞砸了?
尝试将这些行输入到 IRB 会话中。你会看到承诺的结果。如果你想从一个文件中运行它,那么你必须做一些不同的事情。
a[0]
这将评估表达式。IRB 会显示它的值,但从文件运行它什么也不做。您必须将其显式打印到标准输出。像这样的东西:
puts a[0]
这是一个示例 IRB 会话
% irb
1.9.3p125 :001 > a = [ 'ant', 'bee', 'cat', 'dog', 'elk' ]
=> ["ant", "bee", "cat", "dog", "elk"]
1.9.3p125 :002 > a[0]
=> "ant"
1.9.3p125 :003 > a[3]
=> "dog"
我建议你坚持IRB。由于它的交互性,它更适合学习。
当您将从命令提示符运行时,您应该使用p
orprint
或puts
语句来查看输出。arraytest.rb
进行如下更改并运行您的代码。
a = [ 'ant', 'bee', 'cat', 'dog', 'elk' ]
p a[0]
p a[3]