Class: Op
- Inherits:
-
Object
show all
- Defined in:
- lib/jop.rb
Direct Known Subclasses
Ceil, Complement, Curtail, Decrement, Double, Drop, Exp, Floor, GradeDown, GradeUp, Halve, Increment, Insert, NoOp, Plus, Reciprocal, ReverseRotate, Shape, Sign, Square, Tail, Take, Tally, Tilde
Instance Method Summary
collapse
Instance Method Details
#apply_monad_deep(element, &block) ⇒ Object
21
22
23
24
|
# File 'lib/jop.rb', line 21
def apply_monad_deep element, &block
return yield element unless element.kind_of? Array
element.map {|e| apply_monad_deep(e, &block) }
end
|
#integer_args(interpreter) ⇒ Object
14
15
16
17
18
19
|
# File 'lib/jop.rb', line 14
def integer_args interpreter
interpreter.tokens
.take_while {|n| numeric_literal?(n) }
.reverse
.map(&:to_i)
end
|
#numeric_literal?(text) ⇒ Boolean
5
6
7
|
# File 'lib/jop.rb', line 5
def numeric_literal? text
text =~ /^_?\d+/
end
|
#to_numeric(text) ⇒ Object
9
10
11
12
|
# File 'lib/jop.rb', line 9
def to_numeric text
return text.to_i if text =~ /^\d+/
-(text[1...text.length]).to_i
end
|