Как я передаю переменные как имена переменной к функции?

Я хочу смочь сделать следующий псевдокод:

  1. Передача в символе a.
  2. Передача в символе b.
  3. Передача в выражении с помощью a и b
  4. Поскольку я изменяю значение a и b, печатаю вывод c в каждый момент.

Идеально, я хотел бы, чтобы подпись была похожа:

(runner a b (+ a b))

но я не уверен, что приближаюсь к этому правильно... Я попытался изменить функцию на

(runner 'a 'b (+ 'a 'b))

и этот более сложный пример:

(runner 'a 'b (+ (* 'a 'b) 'a))

но это делает + на 'a и 'b прежде, чем ступить в бегуна.

Вот мой первый удар в некотором clojure:

(defn runner [a b c] (
  (for [i (range 10)
        j (range 10)] (println i j (c i j))

Какое понятие clojure я пропускаю?

6
задан Jon Bristow 27 July 2010 в 18:53
поделиться