優先順序¶ ↑
由高到低,這是 Ruby 的優先順序表。優先順序高的運算會先於優先順序低的運算發生。
!, ~, unary + ** unary - *, /, % +, - <<, >> & |, ^ >, >=, <, <= <=>, ==, ===, !=, =~, !~ && || .., ... ?, : modifier-rescue =, +=, -=, etc. defined? not or, and modifier-if, modifier-unless, modifier-while, modifier-until { } blocks
一元 +
和一元 -
是用於 +1
、-1
或 -(a + b)
。
modifier-if、modifier-unless 等是這些關鍵字的 modifier 版本。例如,這是一個 modifier-unless 陳述式
a += 1 unless a.zero?
請注意,(a if b rescue c)
會解析為 ((a if b) rescue c)
,原因與優先順序無關。請參閱 修改器陳述式。
{ ... }
區塊的優先順序低於所有列出的運算,但 do ... end
區塊的優先順序較低。
優先順序表格中所有其他字詞都是關鍵字。