Σ
;; ;; 1 から引数までの和を返す ;; totalsum.scm ;; ;; 再帰 (define (totalSum val) (if (= val 0) 0 (+ val (totalSum (- val 1))))) ;; Guile では (car (command-line) ) は自分自身 ;; (cdr (command-line) ) に引数が入る (define *argv* (cdr (command-line))) ;; 引数の取得 (define num (string->number (car *argv*))) ;; 結果表示 (display '"Sigma[") (display num) (display '"] is ") (display (totalSum num)) (display #?newline)
よく考えたら totalSum っていう名前は明らかにおかしいけどまあいいや。そんなことより Scheme おもろい。
今はたったこれだけのコードを書くのも精一杯だけど、なんかこう視点が違う感じが良い。
あと括弧がたくさんあって楽しい。
次は Haskell で書いてみるべ。