У меня есть проект схемы, с помощью которого я хочу сделать словарь, не используя функцию «dict». IO пример:создание словаря - добавить круглые скобки к имени функции
(define d (make-dictionary)) ;; creates an empty dictionary
(define d1 (d (cons "a" 1))) ;;d1 is d+("a" 1), d not changing
(d1 "a") ;; = 1
(define d2 (d1 (cons "b" 15))) ;;d2 is d1+("b" 15), d1 not changing
(d2 "b") ;; = 15
(d2 "a") ;; = 1
Я просто не понимаю, как я могу получить сделать-словарь с скобкой в качестве аргумента, она всегда возвращает процедуру, а не тип ответ.
(define (make-dictionary)
'())
(define (((make-dictionary) pairs)) ;;trying to get it with parenthesis
append make-dictionary (cons pairs '()))
Я знаю, задаю много вопросов, последняя пару дней, но я новичок в схему, и я делаю все возможное, чтобы узнать это, но я бег из времени .. HELP ?
Я не понимаю вашего вопроса. Что вы пытаетесь сделать с круглыми скобками? –
Мне нужно '(d (cons" a "1))', чтобы вернуть значение. это то, что я не знаю, как реализовать – mooly
О, те ваши круглые скобки ... слишком много в некоторых частях, слишком мало в других. Часть, в которой вы вызываете процедуру 'append', имеет ту же самую старую ошибку - это не способ вызвать процедуры. Дежавю. –