Czy można napisać makro w Clojure, które generuje więcej niż jedną wartość lub wyrażenie? Dla mnie wygląda na to, że nie jest to możliwe, przynajmniej nie za pomocą szablonu cytatu składni `(..).Jak napisać makro Clojure, aby utworzyć więcej niż jedno wyrażenie?
np. od: [1 4]
poprzez [1 (mr 2 3) 4]
do [1 2 3 4]
lub od:
(do
(prn 1)
(prn 4))
poprzez:
(do
(prn 1)
(mr 2 3)
(prn 4))
do:
(do
(prn 1)
(prn 2)
(prn 3)
(prn 4))
Dzięki Arthur! Już oczekiwałem tej odpowiedzi, ale miło jest być pewnym. – Stefan
Ale czy możesz podać przykład, w jaki sposób makro zwracające dwie niezależne formy może spowodować problem z bezpieczeństwem, ale czy jest bezpieczny w przeciwnym razie? Myślę, że zakres jest wciąż taki sam. – Stefan
Używam określenia "bezpieczny", bardzo przykro z tego powodu. Będę edytować, aby rozwinąć to. –