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