我需要在Ruby中缩进我的代码吗?

你会认为这是一个简单的问题,但我无法在任何地方找到答案。 > _ <

如果我的代码缩进不正确,Ruby会抛出语法错误吗? 例如,像这样的代码工作?

if str.blank? str = "Hello World" no_input = true end 

显然,这是不好的风格,我应该正确地缩进。 我想知道在调试会话期间是否可以将其排除为导致错误的原因。

是的,它会奏效。 Ruby只查找换行符。

但是由于代码可读性也非常重要,我会说如果只是为了这个缘故你应该照顾空白。

缩进是(通常)一种文体选择

在Ruby中,缩进本身并不相关,尽管换行符和其他空格的位置可能会导致解析器模糊不清或导致它将某些事物视为单独的表达式,而不是它们的意思。 这里的文档和多行字符串也是缩进重要的区域。

在所有情况下,真正的问题是“解析器看到了什么?” 在您的示例中,它应该在function上等同于正确缩进的代码。 但是,如果你真的想知道底层发生了什么,请看看Ruby的Ripper模块 ,看看你的代码是如何被实际解析的。

Ruby不是空白敏感的。 你的代码虽然不漂亮,但仍然有用。

但是: http : //www.ruby-forum.com/topic/56039

 irb(main):001:0> a = ( 4 + 5 ) => 9 irb(main):002:0> a = ( 4 irb(main):003:1> + 5 ) => 5 irb(main):004:0> a = ( 4 + irb(main):005:1* 5 ) => 9