可変長引数について。
C#のparamsキーワード付き引数的な、JavaScriptのargumentsプロパティ的な。
そうそう、コメントの仕方もわかった♪
「;」で始まる行はコメントになるっぽい。
参考はこちら
http://www.shido.info/lisp/scheme4.html
(define three-args+ (lambda (a b c . d) (list a b c d))) (three-args+ 1 2 3) ;; => (1 2 3 ()) (three-args+ 1 2 3 4 5 6 7 8 9 10) ;; => (1 2 3 (4 5 6 7 8 9 10)) (define params+ (lambda (a . p) (list a p))) (params+ 1 2 4 5) ;; => (1 (2 4 5))
でも、引数が0個もしくは1個もしくは複数個とかできんのかなぁー。
JavaScriptだとこんな感じか?
(function () { return function () { return arguments; }; })()(1,2,3,4,5,6,7)それとも?
(function () { return function () { var ret = []; for (var i = 0; i < arguments.length; i++)ret.push(arguments[i]); return ret; }; })()(1,2,3,4,5,6,7)
0 件のコメント:
コメントを投稿