-
Notifications
You must be signed in to change notification settings - Fork 0
/
ex28.txt
136 lines (96 loc) · 1.94 KB
/
ex28.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
1. true and true
true
2. false and true
false
3. 1 == 1 and 2 == 1
false
4. "test" == "test"
true
5. 1 == 1 or 2 != 1
true
6. true and 1 == 1
true
7. false and 0 != 0
false
8. true or 1 == 1
true
9. "test" == "testing"
false
10. 1 != 0 and 2 == 1
false
11. "test" != "testing"
true
12. "test" == 1
false
13. not (true and false)
true
14. not (1 == 1 and 0 != 1)
false
15. not (10 == 1 or 1000 == 1000)
false
16. not (1 != 10 or 3 == 4)
false
17. not ("testing" == "testing" and "Zed" == "Cool Guy")
true
18. 1 == 1 and not ("testing" == 1 or 1 == 0)
true
19. "chunky" == "bacon" and not (3 == 4 or 3 == 3)
false
20. 3 == 3 and not ("testing" == "testing" or "Ruby" == "Fun")
false
IRB Session:
?> true and true
=> true
>> false and true
=> false
>> 1 == 1 and 2 == 1
=> false
>> "test" == "test"
=> true
>> 1 == 1 or 2 != 1
=> true
>> true and 1 == 1
=> true
>> false and 0 != 0
=> false
>> true or 1 == 1
=> true
>> "test" == "testing"
=> false
>> 1 != 0 and 2 == 1
=> false
>> "test" != "testing"
=> true
>> "test" == 1
=> false
>> not (true and false)
=> true
>> not (1 == 1 and 0 != 1)
=> false
>> not (10 == 1 or 1000 == 1000)
=> false
>> not (1 != 10 or 3 == 4)
=> false
>> not ("testing" == "testing" and "Zed" == "Cool Guy")
=> true
>> 1 == 1 and not ("testing" == 1 or 1 == 0)
=> true
>> "chunky" == "bacon" and not (3 == 4 or 3 == 3)
=> false
>> 3 == 3 and not ("testing" == "testing" or "Ruby" == "Fun")
=> false
>>
Equality operators:
== equal
!= not equal
> greater than
< less than
>= greater than or equal to
<= less than or equal to
<=> combined comparison. 0 if equal, 1 if left greater than right, -1 if left less than right
=== equality within a when clause of a case statement (1..10) === 5 returns true
.eql? compares if both have same type and equal values
equal? test is both have same object_id
Sources:
http://www.tutorialspoint.com/ruby/ruby_operators.htm
http://techbot.me/2011/05/ruby-basics-equality-operators-ruby/