å«ä»¥äžºlisp系就æ¯å
šçšæ¬å·ïŒdylanïŒlogoéœæšææ¬å·ã
å«ä»¥äžºå
šçšæ¬å·å°±ç®åïŒCommon Lispçè¯æ³è¿æ¯C++å€æãå³äŸ¿äœ 䜿çšçæ¯æ åææ³ïŒé£ä¹æ¯æ¹è¯Žåæé£äžªdoïŒæè¿°èµ·æ¥ä¹æ¯ïŒ
*Syntax:*
*do* *({var | (var [init-form [step-form]])}*) (end-test-form result-form*)
declaration* {tag | statement}**
=> *result**
*do** *({var | (var [init-form [step-form]])}*) (end-test-form
result-form*) declaration* {tag | statement}**
=> *result**
*Arguments and Values:*
*var*---a *symbol*
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_s.htm#symbol>.
*init-form*---a *form*
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_f.htm#form>.
*step-form*---a *form*
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_f.htm#form>.
*end-test-form*---a *form*
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_f.htm#form>.
*result-forms*---an *implicit progn*
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_i.htm#implicit_progn>.
*declaration*---a *declare*
<http://www.lispworks.com/documentation/HyperSpec/Body/s_declar.htm#declare>
*expression*
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_e.htm#expression>;
not evaluated.
*tag*---a *go tag*
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_g.htm#go_tag>;
not evaluated.
*statement*---a *compound form*
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_c.htm#compound_form>;
evaluated as described below.
*results*---if a *return*
<http://www.lispworks.com/documentation/HyperSpec/Body/m_return.htm#return>
or *return-from*
<http://www.lispworks.com/documentation/HyperSpec/Body/s_ret_fr.htm#return-from>
form is executed, the *values*
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_v.htm#value>
passed from that *form*
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_f.htm#form>;
otherwise, the *values*
<http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_v.htm#value>
returned by the *result-forms*. â
ïŒåé¢çåç§éå¶åäœçšä¹ç±»çæå倪å€çç¥ P.S. 泚æè¿åªæ¯hyperspecåé¢ç玢åŒïŒåæ£åšææ¡£éçè¿äžç®ïŒ
æ们åæ¥ççæ åC11çè¯æ³ïŒ
ççå¯ä»¥å°è®°è§åäºåïŒ
åCLè¿ç§å
žåç没æç»äžè®Ÿè®¡è§åçäžè¥¿ïŒèŠè®°å¿çäžè¥¿æ¯çžåœå€çã
ââ
Best regards,
Xiaofeng Yang
Post by Yunfan Jiangæ¯ç å°€å
¶æ¯ç±»cè¯æ³ æ们çæäºä»¥åè§åŸåŸèªç¶ å
¶å®å¯¹äºäžæç人æ¥è¯Ž è¿æ¯è·åè¯å·®äžå€
åŠæäœ äžå®èŠæäžäžªæ®é人åŠçŒçš æè§åŸèŠåŒºè®°çè§åè¶å°è¶å¥œ lispç³»å
šçšæ¬å·åŸå¥œ
æ¬æ¥å°±æ¯è¿æ ·ãããâ
Post by Xiaofeng Yangé£äºç䌌âäžå¿
èŠâçæ¬å·ïŒå€§å€§éäœäºè¯æ³çå€æ床ïŒäžä»
æè¿°èµ·æ¥å¯ä»¥å°åŸå€å£èïŒè§£æèµ·æ¥ä¹æŽæ¹äŸ¿ïŒåæ¶ä¹é¿å
äºæ··æ·ã
æ¯äžå±æ¬å·éœæèªå·±çäœçšã
((i start (+ i 1))) å€é¢å±çæ¬å·äœ¿åŸè¿æ¯äžäžªLISTïŒéé¢æ¯äžªå
çŽ éœæ¯(i start (+ i
1))è¿ç§åœ¢åŒçïŒæè
æ¯åç¬äžäžªåéïŒãç¶åååç¬è§£æéé¢çæ¯äžäžª(i start (+ i 1))ïŒæè
æ¯åç¬äžäžªåéïŒã
åŠæåæ¶å
讞(i start (+ i 1))å((i start (+ i 1)))䞀ç§è¯æ³ïŒé£ä¹åœäœ éå°äžäžª(do (i start (+ i
1))çæ¶åïŒ(i start (+ i 1))éé¢çæ¯äžäžªå
çŽ è¡šç€ºå¥å¢ïŒå°åºæ¯åªæ¯äžäžªåç¬çvarïŒè¿æ¯äžäžªinit-formïŒè¿æ¯å¥å¥å¥ïŒ
äºæ¯è¿äžªé®é¢äŸ¿ååŸå€æèµ·æ¥äºããããã
70幎代å°CLè¯çæ¶ç计ç®æºéœæ¯åŸåŒ±çïŒæè¿ä¹äžäžªå°é®é¢åçåŠæ€å€ææ¯åŸäžå¿å€±çã
Best regards,
Xiaofeng Yang
æä¹æäžç§é«ç«¯é»çæè§ :D
Post by Xiaofeng Yangäžæ¯äžºäºâæŽåŒºå€§ââïŒæ¯äžºäºè§£æèµ·æ¥æ¹äŸ¿ã
Post by Xiaofeng YangBest regards,
Xiaofeng Yang
è§åŸdo䞺äºæŽåŒºå€§çåèœåŒå
¥å€ªå€æ¬å·äºïŒççæºçŠïŒäœdolistå dotimeséå¶åŸ 倪æ»ïŒloopå®ååŸéº»çŠïŒ
æäºæ¶åäŒæ³èªå·±çšå®å®ç°Cé£æ Œçwhileåforã
èœç¶ä»æ¿æ²»äžè¯ŽïŒåLispå°±æ¯æ©å±Lispæ¬èº«ïŒäœæ²¡äººäŒäžéšäžºæ¹äŸ¿äœ¿çšè¿ç§è¯æ³æ å
åºå§ïŒäºæ¯ä¹èŠæ³çšè¿ç§è¯æ³ïŒåºæ¬äžå°±åŸæ¯æ¬¡éåïŒæº
çº ç»çã
è¿éåªæiäžäžªåŸªç¯äœïŒdoèèäºå€äžªåŸªç¯äœçæ
åµ
çœäžæçšçå°åŠäžåŸªç¯ç»æç代ç
(defun show-squares (start end)
(do ((i start (+ i 1)))
((> i end) 'done)
(format t "~A ~A~%" i (* i i))))
å
¶äžç¬¬äºè¡ æ¯å®ä¹ içååŒäž éå¢é
é£äžºä»ä¹äžæ¯è¿æ ·å
do (i start (+ i 1))
䞺ä»ä¹éé¢çç»æè¿èŠå¥äžªæ©å·?谢谢
--
--
Lisp-cn(Lispäžæçšæ·ç»)
CLUG http://lisp.org.cn
---
æšæ¶å°æ€é®ä»¶æ¯å 䞺æšè®¢é
äºGoogleçœäžè®ºåäžçâLisp-cn(Lispäžæçšæ·ç»)â论åã
èŠæ¥çæŽå€é项ïŒè¯·è®¿é®https://groups.google.com/d/optoutã
--
--
Lisp-cn(Lispäžæçšæ·ç»)
CLUG http://lisp.org.cn
--- æšæ¶å°æ€é®ä»¶æ¯å 䞺æšè®¢é
äº Google çœäžè®ºåçâLisp-cn(Lispäžæçšæ·ç»)â论åã
èŠæ¥çæŽå€é项ïŒè¯·è®¿é® https://groups.google.com/d/optoutã
--
--
Lisp-cn(Lispäžæçšæ·ç»)
CLUG http://lisp.org.cn
--- æšæ¶å°æ€é®ä»¶æ¯å 䞺æšè®¢é
äº Google çœäžè®ºåçâLisp-cn(Lispäžæçšæ·ç»)â论åã
èŠæ¥çæŽå€é项ïŒè¯·è®¿é® https://groups.google.com/d/optoutã
--
--
Lisp-cn(Lispäžæçšæ·ç»)
CLUG http://lisp.org.cn
---
æšæ¶å°æ€é®ä»¶æ¯å 䞺æšè®¢é
äºGoogleçœäžè®ºåäžçâLisp-cn(Lispäžæçšæ·ç»)â论åã
èŠæ¥çæŽå€é项ïŒè¯·è®¿é®https://groups.google.com/d/optoutã
--
Name: yunfan
Site: http://geek42.info/
- Lang: [forth, clojure, c, python, lua]
- software: [nginx, redis]
- abstract: [vm, tiny, cloud, html5]
- history
- science-fiction
- music: [new-age, vangelis, yanni]
--
--
Lisp-cn(Lispäžæçšæ·ç»)
CLUG http://lisp.org.cn
---
æšæ¶å°æ€é®ä»¶æ¯å 䞺æšè®¢é
äºGoogleçœäžè®ºåäžçâLisp-cn(Lispäžæçšæ·ç»)â论åã
èŠæ¥çæŽå€é项ïŒè¯·è®¿é®https://groups.google.com/d/optoutã
--
--
Lisp-cn(Lispäžæçšæ·ç»)
CLUG http://lisp.org.cn
---
æšæ¶å°æ€é®ä»¶æ¯å 䞺æšè®¢é
äº Google çœäžè®ºåçâLisp-cn(Lispäžæçšæ·ç»)â论åã
èŠé订æ€è®ºå并åæ¢æ¥æ¶æ€è®ºåççµåé®ä»¶ïŒè¯·åéçµåé®ä»¶å°lisp-cn+***@googlegroups.comã
èŠæ¥çæŽå€é项ïŒè¯·è®¿é® https://groups.google.com/d/optoutã