Common Lisp で array を list に変換したいなー、と思って調べたら coerce という関数がみつかった。
CL-USER> (mapcar #'(lambda (x) (1+ x)) (make-array 4)) ; Evaluation aborted on #<TYPE-ERROR expected-type: LIST datum: #<(SIMPLE-VECTOR 4) {1271CFBF}>>. CL-USER> (mapcar #'(lambda (x) (1+ x)) (coerce (make-array 4) 'list)) (1 1 1 1)
Emacs Lisp にもありました。
(car [1 2 3]) Debugger entered--Lisp error: (wrong-type-argument listp [1 2 3]) car([1 2 3]) (car (coerce [1 2 3] 'list)) 1
"coerce"というのは他動詞で「〈人を〉強制[強要]して〔…〕させる 〔into〕」という意味が一番目。辞書を引くとけっこうseriousな例文が出てくる。"They coerced her into signing the contract." 「彼らは無理に彼女にその契約書に署名させた.」
0 件のコメント:
コメントを投稿