mapcarで内積の計算

完全に寝ぼけていた.mapcarを
要素が値のふたつのリストの内積を取る場合,こんな感じで書ける

(defun inner-product (xlis ylis)
  (apply '+ (mapcar '* xlis ylis)))

mapcarは引数に複数リストを取ることもできる.その場合は,その数分のcarを第一引数の関数の引数にする.リストの長さが異なる場合は一番短いものに合わせる.


ということを学んだことをすっかり忘れてた.思い出したのでOK.やっぱりmapcar最強すぐる.