你可以在Ruby中使用分号吗?

Mar*_*ski 71 ruby syntax

在学习Ruby时,我注意到在所有的例子中都没有分号.我知道只要每个陈述都在自己的行上,这就完全没问题了.但我想知道是,你在Ruby中使用分号?

提前致谢!

Dav*_*own 94

是.

Ruby不要求我们使用任何字符来分隔命令,除非我们想在一行上将多个语句链接在一起.在这种情况下,分号(;)用作分隔符.

资料来源:http://articles.sitepoint.com/article/learn-ruby-on-rails/2

  • 很好,谢谢! (2认同)
  • 但是我应该使用分号吗? (2认同)

Bil*_*ber 30

作为旁注,在(j)irb会话中使用分号是有用的,以避免打印出可笑的长表达值,例如

irb[0]> x = (1..1000000000).to_a
[printout out the whole array]
Run Code Online (Sandbox Code Playgroud)

VS

irb[0]> x = (1..100000000).to_a; nil
Run Code Online (Sandbox Code Playgroud)

特别适合您的MyBigORMObject.find_all调用.


wkl*_*wkl 6

是的,分号可以用作 Ruby 中的语句分隔符。

虽然我的典型风格(以及我看到的大多数代码)在每一行上放置一行代码,所以使用;是非常不必要的。


Sop*_*eng 5

分号:是的.

irb(main):018:0> x = 1; c = 0
=> 0
irb(main):019:0> x
=> 1
irb(main):020:0> c
=> 0
Run Code Online (Sandbox Code Playgroud)

您甚至可以在单行循环中运行由分号分隔的多个命令

irb(main):021:0> (c += x; x += 1) while x < 10
=> nil
irb(main):022:0> x
=> 10
irb(main):023:0> c
=> 45
Run Code Online (Sandbox Code Playgroud)