yuu_nkjm blog
2015-11-12(Thu) [長年日記]
[Scheme][apply] Schemeのapply
#|kawa:11|# (apply list 1 2 3) ;; 引数がリストじゃないからだめ ERROR #|kawa:12|# (apply list '(1 2 3)) ;; もちろんOK (1 2 3) #|kawa:13|# (apply list 1 2 3 '()) ;; これが許されるのか (1 2 3) #|kawa:20|# (apply list 1 2 3 '(3 4 5)) ;; ※ (1 2 3 3 4 5) #|kawa:21|# (apply list (append '(1 2 3) '(3 4 5))) ;; applyの第2引数は必ずリストでないとダメだと思っていたので,こう書いていたけど※でOK (1 2 3 3 4 5) #|kawa:22|# (apply list 1 2 3 '(3 4 5) '()) ;; ↑と違うことに注意 (1 2 3 (3 4 5))可変長引数をラップ
#|kawa:29|# ((lambda(. e) (apply list 1 2 3 e)) 3 4 5) ※と同じになる. (1 2 3 3 4 5) #|kawa:29|# ((lambda(. e) (apply list (append '(1 2 3) e))) 3 4 5) ;; appendしてた (1 2 3 3 4 5) #|kawa:48|# ((cut list 1 2 3 <...>) 3 4 5) (1 2 3 3 4 5)