首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Ruby 運算子完整指南:算術、比較、邏輯與位元運算

     編輯:更多程式設計知識

Ruby 的運算子設計極具一致性:大多數運算子實際上是方法呼叫(如 a + b 等同 a.+(b))。本文系統整理算術、比較、賦值、平行賦值、位元、邏輯、三元、範圍、defined?、:: 等運算子,並附優先序表,供開發者快速查閱。

一、算術運算子

假設 a = 10、b = 20:

二、比較運算子

三、賦值運算子

四、平行賦值

一次宣告多變數,或交換值:

# 傳統寫法
a = 10; b = 20; c = 30

# 平行賦值
a, b, c = 10, 20, 30

# 交換兩變數
a, b = b, a

五、位元運算子

假設 a = 60 (0011 1100)、b = 13 (0000 1101):

a & b  = 0000 1100  (12)
a | b  = 0011 1101  (61)
a ^ b  = 0011 0001  (49)
~a     = 1100 0011  (-61,補數表示)

六、邏輯運算子

七、三元運算子

語法:條件 ? 真時值 : 假時值

八、範圍運算子

.. 包含端點,... 排除端點:

九、defined? 運算子

判斷運算式是否已定義,回傳描述字串或 nil。

# 用法 1:變數
foo = 42
defined? foo        # => "local-variable"
defined? $_         # => "global-variable"
defined? bar        # => nil

# 用法 2:方法
defined? puts       # => "method"
defined? puts(bar)  # => nil

# 用法 3:super
defined? super      # => "super" 或 nil

# 用法 4:yield
defined? yield      # => "yield" 或 nil

十、:: 運算子

存取常數、類別方法、模組方法:

MR_COUNT = 0
module Foo
  MR_COUNT = 0
  ::MR_COUNT = 1  # 設定全域常數
  MR_COUNT = 2    # 設定區域常數
end
puts MR_COUNT        # 1
puts Foo::MR_COUNT   # 2

十一、運算子優先序

從高到低:

備註:標註為方法的運算子可被覆寫。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved