Module: SchemeBooleans
Overview
Instance Method Summary
collapse
#if_helper, #if_idx_helper
Instance Method Details
#equal?(other) ⇒ Boolean
27
28
29
30
|
# File 'lib/lisp/interpreter/core/boolean.rb', line 27
def equal?(other)
raise arg_err_build 2, other.size if other.size != 2
other[0].to_s == other[1].to_s ? TRUE : FALSE
end
|
#if(other) ⇒ Object
39
40
41
42
43
44
45
|
# File 'lib/lisp/interpreter/core/boolean.rb', line 39
def if(other)
raise arg_err_build 3, 0 if other.empty?
expr, other = find_next_value other
raise arg_err_build 3, other.size + 1 if other.size < 2
res = if_helper expr, other
(find_next_value res)[0]
end
|
#not(other) ⇒ Object
32
33
34
35
36
37
|
# File 'lib/lisp/interpreter/core/boolean.rb', line 32
def not(other)
raise arg_err_build 1, other.size if other.size != 1
valid = check_for_bool other[0]
raise type_err '<boolean>', other[0].type unless valid
other[0] == TRUE ? FALSE : TRUE
end
|