opal 0.3.6 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +69 -97
- data/bin/opal +2 -2
- data/{lib/core → corelib}/array.rb +85 -56
- data/corelib/boolean.rb +20 -0
- data/corelib/class.rb +58 -0
- data/{lib → corelib}/core.rb +2 -50
- data/corelib/dir.rb +22 -0
- data/{lib/core → corelib}/enumerable.rb +0 -0
- data/corelib/error.rb +19 -0
- data/{lib/core → corelib}/file.rb +7 -9
- data/{lib/core → corelib}/hash.rb +104 -144
- data/{lib/core → corelib}/kernel.rb +38 -44
- data/corelib/load_order +21 -0
- data/{lib/core → corelib}/match_data.rb +0 -0
- data/{lib/core → corelib}/module.rb +12 -8
- data/{lib/core → corelib}/nil_class.rb +2 -2
- data/{lib/core → corelib}/numeric.rb +37 -100
- data/corelib/object.rb +37 -0
- data/{lib/core → corelib}/proc.rb +3 -3
- data/corelib/range.rb +27 -0
- data/{lib/core → corelib}/regexp.rb +1 -1
- data/{lib/core → corelib}/string.rb +16 -107
- data/{lib/core → corelib}/top_self.rb +0 -0
- data/lib/opal.rb +7 -0
- data/lib/opal/browserify.rb +34 -0
- data/{opal_lib → lib}/opal/builder.rb +70 -24
- data/lib/opal/command.rb +52 -0
- data/lib/opal/context.rb +197 -0
- data/{opal_lib/opal/ruby/parser.rb → lib/opal/lexer.rb} +20 -4
- data/{opal_lib/opal/ruby → lib/opal}/nodes.rb +238 -127
- data/lib/opal/parser.rb +4894 -0
- data/{opal_lib/opal/ruby/ruby_parser.y → lib/opal/parser.y} +38 -18
- data/lib/rbp.rb +2 -0
- data/lib/rbp/package.rb +49 -0
- data/runtime/class.js +216 -189
- data/runtime/fs.js +2 -2
- data/runtime/init.js +242 -244
- data/runtime/loader.js +78 -99
- data/runtime/module.js +34 -40
- data/runtime/post.js +2 -2
- data/runtime/pre.js +1 -1
- data/runtime/runtime.js +129 -135
- data/{lib → stdlib}/dev.rb +10 -10
- data/{lib → stdlib}/racc/parser.rb +0 -6
- data/{lib → stdlib}/strscan.rb +4 -4
- metadata +57 -105
- data/lib/core/basic_object.rb +0 -51
- data/lib/core/class.rb +0 -38
- data/lib/core/dir.rb +0 -26
- data/lib/core/error.rb +0 -75
- data/lib/core/false_class.rb +0 -81
- data/lib/core/object.rb +0 -6
- data/lib/core/range.rb +0 -27
- data/lib/core/symbol.rb +0 -42
- data/lib/core/true_class.rb +0 -41
- data/lib/ospec.rb +0 -7
- data/lib/ospec/autorun.rb +0 -8
- data/lib/ospec/dsl.rb +0 -15
- data/lib/ospec/example.rb +0 -11
- data/lib/ospec/example/before_and_after_hooks.rb +0 -56
- data/lib/ospec/example/errors.rb +0 -17
- data/lib/ospec/example/example_group.rb +0 -12
- data/lib/ospec/example/example_group_factory.rb +0 -18
- data/lib/ospec/example/example_group_hierarchy.rb +0 -21
- data/lib/ospec/example/example_group_methods.rb +0 -100
- data/lib/ospec/example/example_group_proxy.rb +0 -15
- data/lib/ospec/example/example_methods.rb +0 -46
- data/lib/ospec/example/example_proxy.rb +0 -18
- data/lib/ospec/expectations.rb +0 -19
- data/lib/ospec/expectations/errors.rb +0 -8
- data/lib/ospec/expectations/fail_with.rb +0 -9
- data/lib/ospec/expectations/handler.rb +0 -33
- data/lib/ospec/helpers/scratch.rb +0 -18
- data/lib/ospec/matchers.rb +0 -24
- data/lib/ospec/matchers/be.rb +0 -1
- data/lib/ospec/matchers/generated_descriptions.rb +0 -20
- data/lib/ospec/matchers/operator_matcher.rb +0 -54
- data/lib/ospec/matchers/raise_error.rb +0 -38
- data/lib/ospec/runner.rb +0 -90
- data/lib/ospec/runner/example_group_runner.rb +0 -41
- data/lib/ospec/runner/formatter/html_formatter.rb +0 -139
- data/lib/ospec/runner/formatter/terminal_formatter.rb +0 -48
- data/lib/ospec/runner/options.rb +0 -34
- data/lib/ospec/runner/reporter.rb +0 -82
- data/opal_lib/opal.rb +0 -16
- data/opal_lib/opal/build_methods.rb +0 -51
- data/opal_lib/opal/bundle.rb +0 -70
- data/opal_lib/opal/command.rb +0 -68
- data/opal_lib/opal/context.rb +0 -81
- data/opal_lib/opal/context/console.rb +0 -10
- data/opal_lib/opal/context/file_system.rb +0 -34
- data/opal_lib/opal/context/loader.rb +0 -135
- data/opal_lib/opal/gem.rb +0 -84
- data/opal_lib/opal/rake/builder_task.rb +0 -44
- data/opal_lib/opal/rake/spec_task.rb +0 -32
- data/opal_lib/opal/ruby/ruby_parser.rb +0 -4862
- data/opal_lib/opal/version.rb +0 -4
- data/runtime/debug.js +0 -84
|
@@ -3,36 +3,28 @@
|
|
|
3
3
|
# {BasicObject}.
|
|
4
4
|
module Kernel
|
|
5
5
|
|
|
6
|
-
|
|
7
6
|
def instance_variable_defined?(name)
|
|
8
7
|
`name = #{name.to_s};
|
|
9
|
-
return self[name]
|
|
8
|
+
return self[name.substr(1)] != undefined;`
|
|
10
9
|
end
|
|
11
10
|
|
|
12
11
|
def instance_variable_get(name)
|
|
13
12
|
`name = #{name.to_s};
|
|
14
|
-
return self[name] == undefined ? nil : self[name];`
|
|
13
|
+
return self[name.substr(1)] == undefined ? nil : self[name.substr(1)];`
|
|
15
14
|
end
|
|
16
15
|
|
|
17
16
|
def instance_variable_set(name, value)
|
|
18
17
|
`name = #{name.to_s};
|
|
19
|
-
return self[name] = value;`
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
# Returns `true` if a block was given to the current method, `false`
|
|
23
|
-
# otherwise.
|
|
24
|
-
#
|
|
25
|
-
# @NOTE: In opal, this is actually a fake method. block_given? is inlined
|
|
26
|
-
# for efficiency and implementation details.
|
|
27
|
-
#
|
|
28
|
-
# @return [true, false]
|
|
29
|
-
def block_given?
|
|
30
|
-
false
|
|
18
|
+
return self[name.substr(1)] = value;`
|
|
31
19
|
end
|
|
32
20
|
|
|
33
21
|
# raw object flags (used by runtime)
|
|
34
22
|
def __flags__
|
|
35
|
-
`return self.$
|
|
23
|
+
`return self.$f;`
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def hash
|
|
27
|
+
`return self.$h();`
|
|
36
28
|
end
|
|
37
29
|
|
|
38
30
|
def to_a
|
|
@@ -46,22 +38,20 @@ module Kernel
|
|
|
46
38
|
end
|
|
47
39
|
|
|
48
40
|
def kind_of?(klass)
|
|
49
|
-
`var search = self.$
|
|
41
|
+
`var search = self.$k;
|
|
50
42
|
|
|
51
43
|
while (search) {
|
|
52
44
|
if (search == klass) {
|
|
53
|
-
return
|
|
45
|
+
return true;
|
|
54
46
|
}
|
|
55
47
|
|
|
56
48
|
search = search.$super;
|
|
57
49
|
}
|
|
58
50
|
|
|
59
|
-
return
|
|
51
|
+
return false;`
|
|
60
52
|
end
|
|
61
53
|
|
|
62
|
-
|
|
63
|
-
kind_of? klass
|
|
64
|
-
end
|
|
54
|
+
alias_method :is_a?, :kind_of?
|
|
65
55
|
|
|
66
56
|
def nil?
|
|
67
57
|
false
|
|
@@ -82,13 +72,14 @@ module Kernel
|
|
|
82
72
|
# @param [String, Symbol] method_id
|
|
83
73
|
# @return [Boolean]
|
|
84
74
|
def respond_to?(method_id)
|
|
85
|
-
`var method = self['m$' +
|
|
75
|
+
`var method = self['m$' + method_id];
|
|
76
|
+
|
|
86
77
|
|
|
87
|
-
if (method
|
|
88
|
-
return
|
|
78
|
+
if (method ) {
|
|
79
|
+
return true;
|
|
89
80
|
}
|
|
90
81
|
|
|
91
|
-
return
|
|
82
|
+
return false;`
|
|
92
83
|
end
|
|
93
84
|
|
|
94
85
|
def ===(other)
|
|
@@ -96,27 +87,25 @@ module Kernel
|
|
|
96
87
|
end
|
|
97
88
|
|
|
98
89
|
def send(method_id, *args, &block)
|
|
99
|
-
`var method = self
|
|
90
|
+
`var method = self['m$' + method_id];
|
|
100
91
|
|
|
101
92
|
if ($B.f == arguments.callee) {
|
|
102
93
|
$B.f = method;
|
|
103
94
|
}
|
|
104
95
|
|
|
105
|
-
args.unshift(self);
|
|
106
|
-
|
|
107
96
|
return method.apply(self, args);`
|
|
108
97
|
end
|
|
109
98
|
|
|
110
99
|
def class
|
|
111
|
-
`return
|
|
100
|
+
`return rb_class_real(self.$k);`
|
|
112
101
|
end
|
|
113
102
|
|
|
114
103
|
def singleton_class
|
|
115
|
-
`return
|
|
104
|
+
`return rb_singleton_class(self);`
|
|
116
105
|
end
|
|
117
106
|
|
|
118
107
|
def methods
|
|
119
|
-
`return self.$
|
|
108
|
+
`return self.$k.$methods;`
|
|
120
109
|
end
|
|
121
110
|
|
|
122
111
|
# Returns a random number. If max is `nil`, then the result is 0. Otherwise
|
|
@@ -139,11 +128,11 @@ module Kernel
|
|
|
139
128
|
end
|
|
140
129
|
|
|
141
130
|
def __id__
|
|
142
|
-
`return self.$
|
|
131
|
+
`return self.$h();`
|
|
143
132
|
end
|
|
144
133
|
|
|
145
134
|
def object_id
|
|
146
|
-
`return self.$
|
|
135
|
+
`return self.$h();`
|
|
147
136
|
end
|
|
148
137
|
|
|
149
138
|
# Returns a simple string representation of the receiver object. The id shown in the string
|
|
@@ -152,7 +141,7 @@ module Kernel
|
|
|
152
141
|
#
|
|
153
142
|
# FIXME: proper hex output needed
|
|
154
143
|
def to_s
|
|
155
|
-
"#<#{
|
|
144
|
+
"#<#{`rb_class_real(self.$k)`}:0x#{`(self.$h() * 400487).toString(16)`}>"
|
|
156
145
|
end
|
|
157
146
|
|
|
158
147
|
def inspect
|
|
@@ -160,7 +149,7 @@ module Kernel
|
|
|
160
149
|
end
|
|
161
150
|
|
|
162
151
|
def const_set(name, value)
|
|
163
|
-
`return rb_const_set(
|
|
152
|
+
`return rb_const_set(rb_class_real(self.$k), name, value);`
|
|
164
153
|
end
|
|
165
154
|
|
|
166
155
|
def const_defined?(name)
|
|
@@ -172,13 +161,10 @@ module Kernel
|
|
|
172
161
|
end
|
|
173
162
|
|
|
174
163
|
def extend(mod)
|
|
175
|
-
|
|
164
|
+
`rb_extend_module(rb_singleton_class(self), mod);`
|
|
176
165
|
nil
|
|
177
166
|
end
|
|
178
167
|
|
|
179
|
-
# @group Private methods
|
|
180
|
-
private
|
|
181
|
-
|
|
182
168
|
# Raises an exception. If given a string, this method will raise a
|
|
183
169
|
# RuntimeError with the given string as a message. Otherwise, if the first
|
|
184
170
|
# parameter is a subclass of Exception, then the method will raise a new
|
|
@@ -201,16 +187,16 @@ module Kernel
|
|
|
201
187
|
def raise(exception, string = nil)
|
|
202
188
|
`var msg = nil, exc;
|
|
203
189
|
|
|
204
|
-
if (
|
|
190
|
+
if (exception.$f & T_STRING) {
|
|
205
191
|
msg = exception;
|
|
206
192
|
exc = #{RuntimeError.new `msg`};
|
|
207
|
-
} else if (#{`exception`.kind_of? Exception}
|
|
193
|
+
} else if (#{`exception`.kind_of? Exception}) {
|
|
208
194
|
exc = exception;
|
|
209
195
|
} else {
|
|
210
196
|
if (string != nil) msg = string;
|
|
211
197
|
exc = #{`exception`.new `msg`};
|
|
212
198
|
}
|
|
213
|
-
|
|
199
|
+
rb_raise_exc(exc);`
|
|
214
200
|
end
|
|
215
201
|
|
|
216
202
|
alias_method :fail, :raise
|
|
@@ -232,6 +218,14 @@ module Kernel
|
|
|
232
218
|
return self;`
|
|
233
219
|
end
|
|
234
220
|
|
|
221
|
+
# Executed in reverse order
|
|
222
|
+
def at_exit(&proc)
|
|
223
|
+
raise ArgumentError, "called without a block" unless block_given?
|
|
224
|
+
`rb_end_procs.push(proc);`
|
|
225
|
+
|
|
226
|
+
proc
|
|
227
|
+
end
|
|
228
|
+
|
|
235
229
|
# Simple equivalent to `Proc.new`. Returns a new proc from the given block.
|
|
236
230
|
#
|
|
237
231
|
# @example
|
|
@@ -249,7 +243,7 @@ module Kernel
|
|
|
249
243
|
def lambda(&block)
|
|
250
244
|
raise ArgumentError,
|
|
251
245
|
"tried to create Proc object without a block" unless block_given?
|
|
252
|
-
`return
|
|
246
|
+
`return rb_make_lambda(block);`
|
|
253
247
|
end
|
|
254
248
|
|
|
255
249
|
# @endgroup
|
data/corelib/load_order
ADDED
|
File without changes
|
|
@@ -25,8 +25,8 @@ class Module
|
|
|
25
25
|
def attr_reader(*attrs)
|
|
26
26
|
attrs.each do |a|
|
|
27
27
|
method_id = a.to_s
|
|
28
|
-
`$rb.dm(self, method_id, function(
|
|
29
|
-
var iv =
|
|
28
|
+
`$rb.dm(self, method_id, function() {
|
|
29
|
+
var iv = this[method_id];
|
|
30
30
|
return iv == undefined ? nil : iv;
|
|
31
31
|
});`
|
|
32
32
|
end
|
|
@@ -36,8 +36,8 @@ class Module
|
|
|
36
36
|
def attr_writer(*attrs)
|
|
37
37
|
attrs.each do |a|
|
|
38
38
|
method_id = a.to_s
|
|
39
|
-
`$rb.dm(self, method_id + '=', function(
|
|
40
|
-
return
|
|
39
|
+
`$rb.dm(self, method_id + '=', function(val) {
|
|
40
|
+
return this[method_id] = val;
|
|
41
41
|
});`
|
|
42
42
|
end
|
|
43
43
|
nil
|
|
@@ -48,6 +48,10 @@ class Module
|
|
|
48
48
|
self
|
|
49
49
|
end
|
|
50
50
|
|
|
51
|
+
def public_instance_methods(include_super = true)
|
|
52
|
+
`return self.$methods;`
|
|
53
|
+
end
|
|
54
|
+
|
|
51
55
|
def instance_methods
|
|
52
56
|
`return self.$methods;`
|
|
53
57
|
end
|
|
@@ -56,7 +60,7 @@ class Module
|
|
|
56
60
|
`var ary = [], parent = self;
|
|
57
61
|
|
|
58
62
|
while (parent) {
|
|
59
|
-
if (parent.$
|
|
63
|
+
if (parent.$f & FL_SINGLETON) {
|
|
60
64
|
// nothing?
|
|
61
65
|
}
|
|
62
66
|
else {
|
|
@@ -74,12 +78,12 @@ class Module
|
|
|
74
78
|
end
|
|
75
79
|
|
|
76
80
|
def const_set(id, value)
|
|
77
|
-
`return
|
|
81
|
+
`return rb_const_set(self, #{id.to_s}, value);`
|
|
78
82
|
end
|
|
79
83
|
|
|
80
84
|
def class_eval(str = nil, &block)
|
|
81
85
|
if block_given?
|
|
82
|
-
`block(self)`
|
|
86
|
+
`block.call(self)`
|
|
83
87
|
else
|
|
84
88
|
raise "need to compile str"
|
|
85
89
|
end
|
|
@@ -90,7 +94,7 @@ class Module
|
|
|
90
94
|
end
|
|
91
95
|
|
|
92
96
|
def extend(mod)
|
|
93
|
-
|
|
97
|
+
`rb_extend_module(self, mod)`
|
|
94
98
|
nil
|
|
95
99
|
end
|
|
96
100
|
end
|
|
@@ -42,11 +42,11 @@ class NilClass
|
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
def |(other)
|
|
45
|
-
`return other
|
|
45
|
+
`return other != false && other != nil;`
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
def ^(other)
|
|
49
|
-
`return other
|
|
49
|
+
`return other != false && other != nil;`
|
|
50
50
|
end
|
|
51
51
|
end
|
|
52
52
|
|
|
@@ -39,28 +39,41 @@
|
|
|
39
39
|
# for these purposes, but it is easily done. This approach will still
|
|
40
40
|
# not allow for literals to be used to make these subclass instances.
|
|
41
41
|
class Numeric
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
#
|
|
46
|
-
# +5
|
|
47
|
-
# # => 5
|
|
48
|
-
#
|
|
49
|
-
# @return [Numeric] receiver
|
|
50
|
-
def +@
|
|
51
|
-
`return self;`
|
|
42
|
+
|
|
43
|
+
def +(other)
|
|
44
|
+
`return self + other;`
|
|
52
45
|
end
|
|
53
46
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
def
|
|
63
|
-
`return
|
|
47
|
+
def -(other)
|
|
48
|
+
`return self - other;`
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def *(other)
|
|
52
|
+
`return self * other;`
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def /(other)
|
|
56
|
+
`return self / other;`
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def ==(other)
|
|
60
|
+
`return self.valueOf() === other.valueOf();`
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def <(other)
|
|
64
|
+
`return self < other;`
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def <=(other)
|
|
68
|
+
`return self <= other;`
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def >(other)
|
|
72
|
+
`return self > other;`
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def >=(other)
|
|
76
|
+
`return self >= other;`
|
|
64
77
|
end
|
|
65
78
|
|
|
66
79
|
# Returns `self` modulo `other`. See `divmod` for more information.
|
|
@@ -83,14 +96,6 @@ class Numeric
|
|
|
83
96
|
`return self & num2;`
|
|
84
97
|
end
|
|
85
98
|
|
|
86
|
-
# Performs multiplication
|
|
87
|
-
#
|
|
88
|
-
# @param [Numeric] other number to multiply with
|
|
89
|
-
# @return [Numeric]
|
|
90
|
-
def *(other)
|
|
91
|
-
`return self * other;`
|
|
92
|
-
end
|
|
93
|
-
|
|
94
99
|
# Raises `self` to the power of `other`.
|
|
95
100
|
#
|
|
96
101
|
# @param [Numeric] other number to raise to
|
|
@@ -99,66 +104,6 @@ class Numeric
|
|
|
99
104
|
`return Math.pow(self, other);`
|
|
100
105
|
end
|
|
101
106
|
|
|
102
|
-
# Performs addition.
|
|
103
|
-
#
|
|
104
|
-
# @param [Numeric] other number to add
|
|
105
|
-
# @return [Numeric]
|
|
106
|
-
def +(other)
|
|
107
|
-
`return self + other;`
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
# Performs subtraction
|
|
111
|
-
#
|
|
112
|
-
# @param [Numeric] other number to subtract
|
|
113
|
-
# @return [Numeric]
|
|
114
|
-
def -(other)
|
|
115
|
-
`return self - other;`
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
# Performs division
|
|
119
|
-
#
|
|
120
|
-
# @param [Numeric] other number to divide by
|
|
121
|
-
# @return [Numeric]
|
|
122
|
-
def /(other)
|
|
123
|
-
`return self / other;`
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
# Returns `true` if the value of `self` is less than that or `other`, `false`
|
|
127
|
-
# otherwise.
|
|
128
|
-
#
|
|
129
|
-
# @param [Numeric] other number to compare
|
|
130
|
-
# @return [true, false] result of comparison
|
|
131
|
-
def <(other)
|
|
132
|
-
`return self < other ? Qtrue : Qfalse;`
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
# Returns `true` if the value of `self` is less than or equal to `other`,
|
|
136
|
-
# `false` otherwise.
|
|
137
|
-
#
|
|
138
|
-
# @param [Numeric] other number to comapre
|
|
139
|
-
# @return [true, false] result of comparison
|
|
140
|
-
def <=(other)
|
|
141
|
-
`return self <= other ? Qtrue : Qfalse;`
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
# Returns `true` if the value of `self` is greater than `other`, `false`
|
|
145
|
-
# otherwise.
|
|
146
|
-
#
|
|
147
|
-
# @param [Numeric] other number to compare with
|
|
148
|
-
# @return [true, false] result of comparison
|
|
149
|
-
def >(other)
|
|
150
|
-
`return self > other ? Qtrue : Qfalse;`
|
|
151
|
-
end
|
|
152
|
-
|
|
153
|
-
# Returns `true` if `self` is greater than or equal to `other`, `false`
|
|
154
|
-
# otherwise.
|
|
155
|
-
#
|
|
156
|
-
# @param [Numeric] other number to compare with
|
|
157
|
-
# @return [true, false] result of comparison
|
|
158
|
-
def >=(other)
|
|
159
|
-
`return self >= other ? Qtrue : Qfalse;`
|
|
160
|
-
end
|
|
161
|
-
|
|
162
107
|
# Shift `self` left by `count` positions.
|
|
163
108
|
#
|
|
164
109
|
# @param [Numeric] count number to shift
|
|
@@ -187,14 +132,6 @@ class Numeric
|
|
|
187
132
|
return 0;`
|
|
188
133
|
end
|
|
189
134
|
|
|
190
|
-
# Returns `true` if `self` equals `other` numerically, `false` otherwise.
|
|
191
|
-
#
|
|
192
|
-
# @param [Numeric] other number to compare
|
|
193
|
-
# @return [true, false]
|
|
194
|
-
def ==(other)
|
|
195
|
-
`return self.valueOf() === other.valueOf() ? Qtrue : Qfalse;`
|
|
196
|
-
end
|
|
197
|
-
|
|
198
135
|
# Bitwise EXCLUSIVE OR.
|
|
199
136
|
#
|
|
200
137
|
# @param [Numeric] other number to XOR with
|
|
@@ -225,14 +162,14 @@ class Numeric
|
|
|
225
162
|
#
|
|
226
163
|
# @return [true, false]
|
|
227
164
|
def even?
|
|
228
|
-
`return (self % 2 == 0)
|
|
165
|
+
`return (self % 2 == 0);`
|
|
229
166
|
end
|
|
230
167
|
|
|
231
168
|
# Returns `true` if self is odd, `false` otherwise.
|
|
232
169
|
#
|
|
233
170
|
# @return [true, false]
|
|
234
171
|
def odd?
|
|
235
|
-
`return (self % 2 == 0) ?
|
|
172
|
+
`return (self % 2 == 0) ? false : true;`
|
|
236
173
|
end
|
|
237
174
|
|
|
238
175
|
# Returns the number equal to `self` + 1.
|
|
@@ -346,7 +283,7 @@ class Numeric
|
|
|
346
283
|
#
|
|
347
284
|
# @return [true, false]
|
|
348
285
|
def zero?
|
|
349
|
-
`return self == 0
|
|
286
|
+
`return self == 0;`
|
|
350
287
|
end
|
|
351
288
|
|
|
352
289
|
# Returns the receiver if it is not zero, `nil` otherwise
|
|
@@ -393,7 +330,7 @@ class Numeric
|
|
|
393
330
|
#
|
|
394
331
|
# @return [true, false]
|
|
395
332
|
def integer?
|
|
396
|
-
`return self % 1 == 0
|
|
333
|
+
`return self % 1 == 0;`
|
|
397
334
|
end
|
|
398
335
|
|
|
399
336
|
def inspect
|