從R5RS下4.2.4迭代 -Scheme迭代如何工作?
(let ((x '(1 3 5 7 9)))
(do ((x x (cdr x))
(sum 0 (+ sum (car x))))
((null? x) sum)))
什麼的用法 - cdr
和car
。
什麼與此x
在線路發生 -
(do ((x x (cdr x))
(sum 0 (+ sum (car x))))
((null? x) sum))
從R5RS下4.2.4迭代 -Scheme迭代如何工作?
(let ((x '(1 3 5 7 9)))
(do ((x x (cdr x))
(sum 0 (+ sum (car x))))
((null? x) sum)))
什麼的用法 - cdr
和car
。
什麼與此x
在線路發生 -
(do ((x x (cdr x))
(sum 0 (+ sum (car x))))
((null? x) sum))
循環將列表中的項目相加。
根據迭代語法,你能解釋什麼是'
do中的第一個子句聲明瞭局部變量x(初始化爲周圍x並且每次迭代用(cdr x)替換)和sum(初始化爲0並且用每次迭代的sum plus(car x)代替)。一旦第二個子句中的第一個子句爲真(x爲空),則返回sum的值。 –
雖然從規範學習計劃可能工作,我請求你考慮讀一本書。有很多免費的例如着名的計算機程序結構和解釋。 – user1890202