Я играю с хитростью, чтобы попытаться познакомиться с концепциями чисто функционального программирования.Прежде чем я смогу сделать что-нибудь полезное с любым языком, мне нужно понять некоторые базовые структуры данных и как эффективно ими манипулировать ... в частности, перечислимые структуры данных.
Я могу повторить список, подобный этому (яя не уверен, правильно ли я это делаю или нет):
(map (lambda (v)
(display (string-append v "\n"))
'(1 2 3))
=>
1
2
3
Как выглядит хэш-таблица / хэш-карта в схеме?Существует ли реальная структура данных для ее представления или все сводится к составлению списка списков?В каком случае, как вы получаете ключ и значение как отдельные переменные из внутреннего списка?
Очевидно, что это неправильно, поскольку лямбда-выражение ожидает одно значение, а не два:
(map (lambda (key value)
(display (string-append key " => " value))
'('("one" 1) '("two" 2) '("three" 3)))
Рубиновый эквивалент того, что я пытаюсь сделать, будет:
{ "one" => 1, "two" => 2, "three" => 3 }.map do |key, value|
puts "#{key} => #{value}"
end