[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
http://baike.baidu.com/view/96473.htm
按百科释义,递归的概念并不局限于函数,我的理解是只要调用自己应该就算是递归了吧?
话说下面这样虽然反复引用了变量中的语句,但应该算不上递归吧:
  1. @echo off
  2. set /a n=m=1
  3. set bat="%~0"
  4. setlocal enabledelayedexpansion
  5. set "next=if ^!n^! leq 12 (set /a m*=n,n+=1&echo ^!next^!>>^!bat^!) else (echo ^!m^!&pause&exit)"
  6. (echo;&echo !next!)>>!bat!
复制代码
同理,vbs 里用 Execute、ExecuteGlobal 和 ScriptControl 实现的应该也不算是递归吧——纯联想,虽然没那个必要哈...

TOP

某人的回帖是我删的,原因是大概只有他自己觉得那样的回帖不算是挑衅或者谩骂
事先提醒过了,既然他觉得自己在做正确的事,那我也得做我认为正确的事
不针对语言和个人,只针对不合适的言行

TOP

回复 4# 523066680


    被你一说才想起来,plp 的排列组合也是个经典的例子:
  1. @echo off
  2. call:perm "a b c xy z"
  3. pause
  4. :perm <"c1 c2 ..."> // code by plp
  5. setlocal enabledelayedexpansion&set "s=%~1 "
  6. if "!s: =!" == ""  (echo %~2)else for %%b in (%~1)do call:perm "!s:%%b =!" "%~2 %%b"
  7. endlocal&goto:eof
复制代码

TOP

返回列表