Ruby - 为什么变量是有效的语句?

时间:2014-06-13 03:19:59

标签: ruby

我是Ruby的新手(来自C#),所以我想知道为什么这是有效的:

x = 2
x #why is this valid?

ruby​​是否将其解释为x.inspect或内部的东西?

3 个答案:

答案 0 :(得分:1)

我相信Ruby遵循Lisp expressions return their own value,特别是some expressions are self-evaluating。因此,return实际上是Ruby中的unnecessary

答案 1 :(得分:1)

  

为什么变量是有效的声明?

因为它不是一个陈述,所以它是一个表达。 Ruby中没有语句,一切都是表达式。

  

ruby​​是否将其解释为x.inspect或其他内部内容?

没有。 x被解释为x,没有别的。

在REPL中,如IRb或Pry,REPL可能会也可能不会调用对象上的某些方法,这些方法是评估x的结果,以便显示对象的一些人类可读的文本表示,但是这是a)REPL的一个特性,而不是Ruby和b)适用于所有表达式,而不仅仅是局部变量解引用。

答案 2 :(得分:0)

它是有效的,因为x是一个已定义的变量,即它引用一个对象。它不会将其解释为x.inspect或其他任何内容。 xx(实际为2)。