вторник, 23 марта 2010 г.

newLISP: имена переменных в виде текстовых строк

Нам выдают передают имя переменной в виде текстовой строки. Например:

(set 'mylist '(1 2 3 4 5))
(set 'var "mylist")


Задача. Передать эту переменную в функцию.

Решение 1.

(define (add-list x) (apply + (eval x)))

(add-list (sym var))


Решение 2.

(define (add-list-1 x) (eval-string (append "(apply + " x ")")))

(add-list-1 var)

Комментариев нет:

Отправить комментарий

Архив блога