4
Common Lisp中,在循環宏時,和和爲關鍵字出現相同的功能:循環宏中的「for」和「as」關鍵字之間是否有區別?
(loop for i from 1 to 3 do (print i))
(loop as i from 1 to 3 do (print i))
有一些細微的差別我失蹤?如果不是,爲什麼還要用兩個不同但相同的關鍵字呢?
Common Lisp中,在循環宏時,和和爲關鍵字出現相同的功能:循環宏中的「for」和「as」關鍵字之間是否有區別?
(loop for i from 1 to 3 do (print i))
(loop as i from 1 to 3 do (print i))
有一些細微的差別我失蹤?如果不是,爲什麼還要用兩個不同但相同的關鍵字呢?
的
for
和as
關鍵字是同義詞;它們可以互換使用。 ...按照慣例,for
引入了新的迭代,as
引入了依賴於先前迭代規範的迭代。
例如爲:
(loop for x from 1 to 10
as x2 = (* x x)
as x4 = (* x2 x2)
for y from 10 downto 1
as y2 = (* y y)
as y4 = (* y2 y2)
sum (* x4 y4))
爲什麼?
傳統! :-)
而且,還...
」 ......一個計算機語言不僅僅是一種讓計算機執行的操作的方式,而是...這是一種新的媒體形式表達方法的想法「 Abelson/Sussman」計算機程序的結構和解釋「。
因此,我們爲人們(包括您從現在起6個月內)編寫代碼來閱讀,而不僅僅是爲了執行計算機。
讓您的代碼更具可讀性的一切都是「公平的遊戲」。
Aaand現在我有一首來自「屋頂上的提琴手」的歌曲卡在我的頭上。 –
一個例子呢? –
@RainerJoswig:現在好嗎?或者您是否想過從實際項目中「讀取生活中的例子」? – sds