打印返回值

时间:2013-07-11 19:40:43

标签: ruby return-value

我复制并运行了以下代码 Ruby in Programming:实用程序员指南

a = [ 1, 'cat', 3.14 ]
a[0]

这本书说该程序应该给1,但它没有,它什么都没有。然后,我尝试了下一个练习:

a = [ 'ant', 'bee', 'cat', 'dog', 'elk' ]
a[0]
a[3]

应该返回"ant""dog",但它仍然没有做任何事情。谁能告诉我在哪里搞砸了?

2 个答案:

答案 0 :(得分:3)

尝试将这些行输入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。由于它的互动性,学习效果要好得多。

答案 1 :(得分:1)

当您从命令提示符运行p时,应使用printputsarraytest.rb语句查看输出。请按以下更改并运行您的代码。

a = [ 'ant', 'bee', 'cat', 'dog', 'elk' ]
p a[0]
p a[3]