Size: a a a

2020 July 15

SA

Sokolov Andrew in Lisp Forever
который можно сгенерировать
источник

SA

Sokolov Andrew in Lisp Forever
в отличие от всей остальной херни
источник

SA

Sokolov Andrew in Lisp Forever
ну типа
источник

VM

Vyacheslav Mikushev in Lisp Forever
Sokolov Andrew
(defmacro %with-dot-slots (slots object &body body)
 (let ((newnames (loop :for slot :in slots
                      :collect (intern (format nil "~s.~s" object slot)))))
   `(with-slots ,(loop :for newname :in newnames
                       :for oldname :in slots
                       :collect (list newname oldname)) ,object
      ,@body)))


(defmacro with-dot-slots (slots objects &body body)
 (if objects
     `(%with-dot-slots ,slots ,(car objects)
        (with-dot-slots ,slots ,(cdr objects) ,@body))
     `(progn ,@body)))
Пользоваться так:
(with-dot-slots (x y z) (w m)
 (format t "~a" w.x)
 (+ w.y w.z m.x)))
?
источник

SA

Sokolov Andrew in Lisp Forever
ну ды
источник

SA

Sokolov Andrew in Lisp Forever
конечно для разных классов придется нестить
источник

SA

Sokolov Andrew in Lisp Forever
ну или
источник

VM

Vyacheslav Mikushev in Lisp Forever
Лучше бы слоты разных объектов разделить, имхо.:)
источник

SA

Sokolov Andrew in Lisp Forever
щас
источник

SA

Sokolov Andrew in Lisp Forever
не ну тут смысл в том что у этих двух одинаковые слоты
источник

SA

Sokolov Andrew in Lisp Forever
хотя ты можешь загнать ваще все названия и вск классы в одно
источник

SA

Sokolov Andrew in Lisp Forever
а потом просто не все использовать да
источник

AE

Alexey Egorov in Lisp Forever
Ну это пук.
источник

SA

Sokolov Andrew in Lisp Forever
чевось
источник

AE

Alexey Egorov in Lisp Forever
Юзлесс.
источник

SA

Sokolov Andrew in Lisp Forever
лол
источник

AE

Alexey Egorov in Lisp Forever
Мне же не для точек это надо.
источник

SA

Sokolov Andrew in Lisp Forever
ваще то нет
если у тебя не
не знаю
10 разных объектов там в функции
источник

SA

Sokolov Andrew in Lisp Forever
то ты одной строчкой свои названия получаешь
источник

SA

Sokolov Andrew in Lisp Forever
а для чего
источник