読者です 読者をやめる 読者になる 読者になる

basyura's blog

あしたになったらほんきだす。

繰り返し

emacs lisp

scratch を使ってお勉強。

dolist

;リストを作る Ctrl + j
(setq list '(1 2 3 4 5))
;評価した結果
(1 2 3 4 5)
;合計値を格納する変数を宣言する Ctrl + j
(setq sum 0)
;評価した結果
0
;リストの値を繰り返して値を合計 Ctrl + j
(dolist (x list sum) (setq sum (+ sum x)))
;評価した結果
15

ruby だと

[1,2,3,4,5].inject{|x,sum| sum = sum + x}

か。

dotimes

;合計値を格納する変数宣言 Ctrl + j
(setq sum 0)
;評価した結果
0
;0から9まで繰り返して合計値を計算 Ctrl + j
(dotimes (x 10 sum)(setq sum (+ sum x)))
;評価した結果
45

dotimes の書き方は

(dotimes (変数 整数式 値) 式 ・・・ 式)

で、

式を評価すると必ず値が返る

の値は dotimes の値で宣言したところが返るので

;ctrl + j
(dotimes (x 10 999))
;値の所の値が返る
999