Wie in jeder Programmiersprache, so gibt es auch in Ruby Operatoren. Sie unterscheiden sich von denen in anderen Programmiersprachen aber dadurch, dass es sich bei ihnen meistens nicht um fest eingebaute Bestandteile der Sprache handelt, sondern um Methoden von Objekten.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
class A
attr_accessor :value
def initialize(val)
@value = val
end
def +(val)
@value + val.to_i
end
def to_i
@value
end
end
x = A.new(3)
y = A.new(7)
puts(x + y) #=> 10 |
Liste der Operatoren in Ruby
Dies ist eine Liste der Operatoren in Ruby. Die angegebene Operation bezieht sich dabei auf die häufigste Bedeutung, ist aber nicht zwingend, da sie ja in eigenen Klassen anders sein kann. Zum Beispiel könnte der /-Operator in XML-Parsern auch zur XPath-Navigation genutzt werden.
| Operator | Operation |
| +@ | Unäres Plus |
| -@ | Unäres Minus |
| + | Addition |
| - | Subtraktion |
| * | Multiplikation |
| / | Division |
| ** | Potenz |
| & | Binäres AND |
| | | Binäres OR |
| ^ | Binäres XOR |
| >> | Binäres RShift |
| << | Binäres LShift oder Anhängen von Elementen. |
| && | Logisches Und |
| || | Logisches Oder |
| ! | Logisches Nicht |
| = | Zuweisung |
| == | Prüfung auf Gleichheit |
| === | Prüfung auf Case-Gleichheit |
Nicht überschreibbare Operatoren
Nicht neu definierbare Operatoren sind:
- =
- &&
- ||
- ! (Ab Ruby 1.9.1 kann ! aber neu definiert werden)
Siehe auch