2019年3月31日日曜日

destructuring-bind

 cl-dbiでtime型のcolumnは

((:HOURS 10) (:MINUTES 5) (:SECONDS 0) (:MICROSECONDS 0))

 の形式で返却されてきていた。
 どうしたものか。:HOURSをassocしてsecond? とか、考えて面倒だな、と。
 そういえば、「destructuring-bind」とか、いうものがあるんだっけ。

CL-USER> (destructuring-bind ((- hours)(- minutes)(- -)(- -))
             '((:HOURS 10) (:MINUTES 5) (:SECONDS 0) (:MICROSECONDS 0))
           (cons hours minutes))
(10 . 5)
CL-USER> 

 すばらしい。