NCF参数化建筑论坛

标题: RhinoScript语法(入门基础2) [打印本页]

作者: f(x)    时间: 2009-8-28 19:16
标题: RhinoScript语法(入门基础2)
[hide][/hide]
使用循环语句
       使用循环重复执行代码
       循环用于重复执行一组语句。循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语句,另一类按照指定的次数重复执行
语句。
       在VBScript 中可使用下列循环语句:
       * Do...Loop: 当(或直到)条件为 True 时循环。
       * While...Wend: 当条件为 True 时循环。
       * For...Next: 指定循环次数,使用计数器重复运行语句。
       * For Each...Next: 对于集合中的每项或数组中的每个元素,重复执行一组语句。
       使用 Do 循环
       可以使用 Do...Loop 语句多次(次数不定)运行语句块。当条件为 True 时或条件变为 True 之前,重复执行语句块。
       当条件为 True 时重复执行语句
       While 关键字用于检查 Do...Loop 语句中的条件。有两种方式检查条件:在进入循环之前检查条件(如下面的 ChkFirstWhile 示例);或者在循环至少运行完一次之后
检查条件(如下面的 ChkLastWhile 示例)。在 ChkFirstWhile 过程中,如果 myNum 的初始值被设置为 9 而不是 20,则永远不会执行循环体中的语句。在
ChkLastWhile 过程中,循环体中的语句只会执行一次,因为条件在检查时已经为 False。
      Sub ChkFirstWhile()
      Dim counter, myNum
      counter = 0
      myNum = 20
      Do While myNum > 10
      myNum = myNum - 1
      counter = counter + 1
      Loop
      MsgBox "循环重复了 " & counter & " 次。"
      End Sub
      Sub ChkLastWhile()
      Dim counter, myNum
      counter = 0
      myNum = 9
      Do
      myNum = myNum - 1
      counter = counter + 1
      Loop While myNum > 10
      MsgBox "循环重复了 " & counter & " 次。"
      End Sub
     重复执行语句直到条件变为 True
     Until 关键字用于检查 Do...Loop 语句中的条件。有两种方式检查条件:在进入循环之前检查条件(如下面的 ChkFirstUntil 示例);或者在循环至少运行完一次之后检
查条件(如下面的 ChkLastUntil 示例)。只要条件为 False,就会进行循环。
     Sub ChkFirstUntil()
     Dim counter, myNum
     counter = 0
     myNum = 20
     Do Until myNum = 10
     myNum = myNum - 1
     counter = counter + 1
     Loop
     MsgBox "循环重复了 " & counter & " 次。"  
     End Sub
     Sub ChkLastUntil()
     Dim counter, myNum
     counter = 0
     myNum = 1
     Do myNum = myNum + 1
     counter = counter + 1
     Loop Until myNum = 10
     MsgBox "循环重复了 " & counter & " 次。"
     End Sub
     退出循环
     Exit Do 语句用于退出 Do...Loop 循环。因为通常只是在某些特殊情况下要退出循环(例如要避免死循环),所以可在 If...Then...Else 语句的 True 语句块中使用 Exit Do
语句。如果条件为 False,循环将照常运行。
     在下面的示例中,myNum 的初始值将导致死循环。If...Then...Else 语句检查此条件,防止出现死循环。
     Sub ExitExample()
     Dim counter, myNum
     counter = 0
     myNum = 9
     Do Until myNum = 10
     myNum = myNum - 1
     counter = counter + 1
     If myNum < 10 Then Exit Do
     Loop
     MsgBox "循环重复了 " & counter & " 次。"
     End Sub
    使用 While...end
    While...end 语句是为那些熟悉其用法的用户提供的。
    但是由于 While...Wend 缺少灵活性,所以建议最好使用 Do...Loop 语句。
    For...Next 语句用于将语句块运行指定的次数。在循环中使用计数器变量,该变量的值随每一次循环增加或减少。
    例如,下面的示例将过程 MyProc 重复执行 50 次。For 语句指定计数器变量 x 及其起始值与终止值。Next 语句使计数器变量每次加 1。
    Sub DoMyProc50Times()
    Dim x
    For x = 1 To 50
    MyProc Next
    End Sub
    关键字 Step 用于指定计数器变量每次增加或减少的值。在下面的示例中,计数器变量 j 每次加 2。循环结束后,total 的值为 2、4、6、8 和 10 的总和。
    Sub TwosTotal()
    Dim j, total
    For j = 2 To 10 Step 2
    total = total + j
    Next MsgBox "总和为 " & total & "。"
    End Sub
    要使计数器变量递减,可将 Step 设为负值。此时计数器变量的终止值必须小于起始值。在下面的示例中,计数器变量 myNum 每次减 2。循环结束后,total 的值为 16
、14、12、10、8、6、4 和 2 的总和。
   
   Sub NewTotal()
   Dim myNum, total
   For myNum = 16 To 2 Step -2
   total = total + myNum
   Next
   MsgBox "总和为 " & total & "。"
   End Sub
作者: arkuo    时间: 2009-9-7 03:01
太感謝了 真是不可多得的教材....
作者: SmallTotal    时间: 2009-10-21 14:17
呵呵
焊好很强大!
看这个能不能学会哦?
作者: Jdesign    时间: 2009-10-29 18:17
非常感谢,难得的好教材
作者: tianrock2002    时间: 2009-10-30 16:42
很不错的教材{:3_53:}
作者: bendanxinhe    时间: 2009-11-6 14:46
载下来慢慢研究  嘿嘿 学习了
作者: usirah    时间: 2009-11-10 14:07
刚看完一,头还晕乎晕乎呢,先坚持把二看了。再次感谢楼主。
作者: bluelotus0107    时间: 2009-11-22 14:11
vb.net和vb还是有蛮大区别的 不过这个基本的vb语法确实是script必须的
作者: better    时间: 2009-12-11 17:19
感谢 f(x) 大大 这么好的东西~
作者: valando    时间: 2009-12-11 18:19
一在那里??
作者: renzhe3421    时间: 2010-1-6 13:00
继续学习!!!!
作者: 咸鱼空间    时间: 2010-1-10 21:31
谢谢楼主{:3_53:}
作者: 990628    时间: 2010-1-18 11:09
难得一见的教材
作者: Sinxye    时间: 2010-1-18 12:05
看完了1 ,又来关注2 了...哈...
作者: 发现档案    时间: 2010-1-28 20:44
顺着1来的看看
作者: pwr0001    时间: 2010-3-7 23:12
看完一接着看二~~爽!
作者: zhengzongliang    时间: 2010-3-9 20:08
谢谢啦很好的东西
作者: xigua_007    时间: 2010-3-9 20:49
感谢感谢好东西好东西
作者: sfancys    时间: 2010-3-14 10:39
你牛逼的很~!!呵呵
作者: ss409335769    时间: 2010-3-22 16:29
多谢多谢啊
作者: tao    时间: 2010-3-23 11:04
牛逼的很~..............
作者: marcowoo    时间: 2010-4-9 03:06
真是不可多得的教材....
作者: richo    时间: 2010-4-18 17:41
收藏啦,好好研究研究
作者: fuhai1210    时间: 2010-4-22 07:59
不错 学习学习
作者: wj881115    时间: 2010-4-24 12:15
好东西,学习
作者: freeze23    时间: 2010-4-26 20:51
太好了 太好了太好了
作者: zoezhao    时间: 2010-5-12 13:09
nice material
作者: jingxiao0130    时间: 2010-5-14 18:56
谢谢楼主,学习了
作者: ycoyco    时间: 2010-5-14 19:50
正在学习,感谢楼主
!!
作者: zoezhao    时间: 2010-5-16 20:17
好东西~~
作者: zoezhao    时间: 2010-5-16 20:34
very useful
作者: zdb888    时间: 2010-5-30 10:13
谢谢了,对入门者太有用了
作者: tonytcl    时间: 2010-8-15 14:11
看着眼睛都花了。。。
作者: waccssgw    时间: 2010-8-17 11:12
好东西~~~~~~~~~~~
作者: waccssgw    时间: 2010-8-17 13:21
一个头两个大~~~~~~~~~
作者: tonytcl    时间: 2010-9-18 01:36
只能说感谢了
作者: PARADAN    时间: 2010-9-24 11:34
辛苦了 。。慢慢啃。。。
作者: sunjiaxi0525    时间: 2010-9-25 23:27
好东西好东西分享分享
作者: PARADAN    时间: 2010-9-27 21:53
辛苦了  学习,,,
作者: win080394    时间: 2010-10-2 15:53
谢谢,这个论坛真是太好了
作者: archigram    时间: 2010-11-10 16:31
楼主总结的很不错
作者: LAVAHA    时间: 2011-1-28 23:08
入门 都看得晕。。。
作者: 小新同学    时间: 2011-1-30 10:15
完全看不明白~~~
作者: nauygnod    时间: 2011-2-28 18:08
谢谢分享,支持
作者: nauygnod    时间: 2011-2-28 18:09
谢谢分享,支持
作者: nauygnod    时间: 2011-2-28 18:09
谢谢分享,支持
作者: nauygnod    时间: 2011-2-28 18:10
谢谢分享,支持
作者: nauygnod    时间: 2011-2-28 18:11
谢谢分享,支持
作者: nauygnod    时间: 2011-2-28 18:11
谢谢分享,支持
作者: 3631596    时间: 2011-3-20 09:47
怎么能这么复杂啊。。。完全木有想法。。
作者: roypetty    时间: 2011-4-6 18:26
好晕啊  55555555555555
作者: wawa    时间: 2011-5-3 10:53
very good!
作者: zhangxiang1232    时间: 2011-5-16 10:20
很好的资料,顶起
作者: duys08    时间: 2011-7-14 15:18
读代码神码的最烦了
作者: 曾美琪    时间: 2011-7-25 15:47
谢谢分享学习学习
作者: 曾美琪    时间: 2011-7-26 08:00
再次顶起来
作者: 1988zhu93    时间: 2011-8-1 12:47
看来大一那时候学的VB还是很有用的啊
作者: xiaoniu2    时间: 2011-8-8 10:22
很感谢楼主  但是gh现在还没有学好啊
作者: xiaoniu2    时间: 2011-8-8 10:23
能请教一下这个和gh有都会让你们关系吗
作者: mars-ccb    时间: 2011-8-15 00:20
谢谢分享!!!
作者: tiangg201    时间: 2011-8-15 15:39
还有啊,真是太感谢了,多多学习
作者: zhangchunwei    时间: 2011-8-18 16:02
感谢分享啊,好东西啊真是
作者: www.yyssf.com    时间: 2011-8-20 02:57
各位坛友,我是新手 请大家多多关照小弟我啊
作者: banno    时间: 2011-8-20 21:11
时代发展真实快啊 加油
作者: liyong    时间: 2011-10-28 21:23
谢谢分享   哈哈
作者: truthisshit    时间: 2011-11-1 11:00
谢谢LZ。
我很喜欢看不同的人讲解同样的东西,每次都有新收获:D
作者: i-form    时间: 2011-11-16 18:23
加油加油加油
作者: bensonzz    时间: 2011-11-27 19:18
要慢慢磕了
作者: cqszxtzhp    时间: 2011-12-2 14:50
哇,,太好了。。。有这等教程。。
作者: screenaKZ    时间: 2011-12-11 01:25
希望给个索引贴~这样吧每一集都整到一块去~
作者: s.k.    时间: 2011-12-11 10:45
什么时候也出个视频教程吧
作者: lieren    时间: 2012-1-13 06:36
lou zhu xie de hao a .ding qi la a . .
作者: a小笨鸡    时间: 2012-1-26 17:24
看完了 没看懂
作者: a小笨鸡    时间: 2012-1-26 17:36
看完第两遍 好多了
作者: sanshierli000    时间: 2012-2-21 11:34
看这个能不能学会哦?
作者: xslx2005    时间: 2012-3-20 15:59
总结的好,支持
作者: wetnurse    时间: 2012-3-20 17:12
慢慢研究慢慢研究
作者: nana0108    时间: 2012-5-17 13:51
学习了循环语句:
       * Do...Loop: 当(或直到)条件为 True 时循环。
       * While...Wend: 当条件为 True 时循环。
       * For...Next: 指定循环次数,使用计数器重复运行语句。
       * For Each...Next: 对于集合中的每项或数组中的每个元素,重复执行一组语句。
不过,还是的DO语句和for语句用的多些,个人习惯吧
作者: 呼呼    时间: 2012-5-24 10:03
哈哈,真心懂了,感谢楼主
作者: benchen    时间: 2012-6-4 07:14
而过发的地方放到
作者: 子子萧    时间: 2012-6-4 20:18

非常感谢,难得的好教材
作者: moranhuishou    时间: 2012-6-9 21:18
,,,,,,,,,,
作者: angel120317    时间: 2012-6-11 16:10
恩,学习学习
作者: rlatjddns    时间: 2012-6-19 13:23
谢谢学习~~~
作者: firobaccano    时间: 2012-6-23 15:18
这个很好 强烈支持 rs的书不在身边 这个有用
作者: xiniu    时间: 2012-6-24 12:21
谢谢楼主分享,学习了
作者: michaelya    时间: 2012-6-28 12:25
这个还是这样的啊,,有没有pdf版的
作者: lyric007    时间: 2012-7-4 17:17
谢谢楼主分享!!
作者: bin110007    时间: 2012-7-11 00:31
顶!感谢分享!
作者: hugejiletu    时间: 2012-7-22 10:49
谢楼主,好教材呀!
作者: ztchxx    时间: 2012-8-6 18:40
认真学习一下啊
作者: 璟潼    时间: 2012-8-8 01:30
不错的入门教程
作者: uphold    时间: 2012-8-8 22:04
没清楚VBScript的变量、常量等基本概念,看了语法也是一片空白
作者: 模鬼    时间: 2012-8-17 09:53
想学学这门手艺。。。
作者: lferrero    时间: 2012-8-20 14:25
楼主辛苦了,新人拜读^^
作者: 578546667    时间: 2012-8-23 10:33
谢谢分享,学习中。。。。。
作者: zhang190508    时间: 2012-8-31 16:27
多谢分享啊
作者: 风灵语    时间: 2012-9-25 15:59
谢谢分享~~学习~~
作者: xander_108    时间: 2012-11-7 20:04
学习中....还有,你这个网站图标真是越看越心跳{:13:}
作者: zfr222    时间: 2012-11-18 21:31
新手过来看看




欢迎光临 NCF参数化建筑论坛 (http://bbs.ncf-china.com/) Powered by Discuz! X3.2