首页 > 解决方案 > 为什么当我使用这个网站编码时输出中出现'=> nil',而当我使用 Sublime Text 时却没有?

问题描述

我是一名学习 Ruby 的初学者,我注意到当我使用这个网站 ( https://repl.it/ ) 进行编码时,'=> nil' 有时会出现在输出中。但是,当我使用 Sublime Text 进行编码时,它根本没有出现。

1)它出现在输出中重要吗?如果是这样,为什么?

2)我怎样才能让它出现在崇高的文本中?

谢谢!

标签: rubynullsublimetext

解决方案


在这种情况下, nil 只是您的方法调用的返回值。它没有返回任何东西。repl 会为您打印出来,但是当您运行 Ruby 文件时,您不会看到它。

例如在 pry、irb、repl.it 等中。

puts 5

印刷

5
=> nil

puts 命令打印 5,然后返回 nil。repl 会为您打印,因此您知道返回值是什么。你可以自己试试

def test
  puts 'test'
  return 5
end
test

印刷

test
=> 5

如果您希望它在运行文件时出现,您可以打印函数的返回。例如

puts "=> #{test.inspect}"

结果

test
=> 5
=> nil # this line only if running in repl

推荐阅读