Ruby - 我缺少方法吗?

Ruby - am I missing methods?

我最近开始学习 Ruby 编程语言,在编写一些基本代码时遇到了一些奇怪的行为。我在下面编写的代码在允许我使用 运行 Ruby 代码的网站上编译时工作正常,例如 "repl.it",但是当我尝试在 Ruby 中编译我的代码时我的,使用 ruby-2.3.3-p222 SDK,或通过 CMD,我的代码没有产生任何输出。代码应该输出数字“10”,但是除了以 "exit code 0" 结尾外,根本不输出任何内容。我做错了什么或遗漏了什么?

numbers = [1, 2, 3, 4]
numbers.map {|num| num*num}
numbers.select {|num| num%2==0}
numbers.inject do |sum, num|
  sum + num
end

你没有输出,因为你没有输出任何东西。 REPL 有一个很好的副作用,它们通常会向您显示上次执行的命令的值。这就是您在 repl.it 上看到的内容。要获得预期的输出,您需要打印结果:

numbers = [1, 2, 3, 4]
numbers.map {|num| num*num}
numbers.select {|num| num%2==0}
result = numbers.inject do |sum, num|
  sum + num
end
p result