Module: Klam::Converters::List
Overview
Utility methods to convert between Ruby Arrays and Kl Lists
Constant Summary
Primitives::Lists::EMPTY_LIST
Instance Method Summary
collapse
#cons, #cons?, #hd, #tl
Instance Method Details
#arrayToList(array) ⇒ Object
7
8
9
10
11
12
13
14
15
|
# File 'lib/klam/converters/list.rb', line 7
def arrayToList(array)
list = EMPTY_LIST
(array.length - 1).downto(0) do |index|
item = array[index]
item = arrayToList(item) if item.kind_of?(Array)
list = cons(item, list)
end
list
end
|
#listToArray(list) ⇒ Object
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/klam/converters/list.rb', line 17
def listToArray(list)
array = []
while list != EMPTY_LIST
item = hd(list)
item = listToArray(item) if cons?(item) || item == EMPTY_LIST
array << item
list = tl(list)
end
array
end
|