Difference between revisions of "G11ntest/Documentation/BASIC Guide/Branching"
From Apache OpenOffice Wiki
(Created page with '{{DISPLAYTITLE:Branching}} {{文档//v2 | | |/Basic指南</运算符 |/Basic Guide/循环 | }} 使用分支语句可以限制执行代码块,直到特定条件满足。 …') |
|||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:Branching}} | {{DISPLAYTITLE:Branching}} | ||
− | + | {{Documentation/BASICGuideTOC/v2 | |
− | {{ | + | |ShowPrevNext=block |
− | | | + | |ShowPrevPage=block |
− | | | + | |PrevPage=Documentation/BASIC Guide/Operators |
− | |/ | + | |NextPage=Documentation/BASIC Guide/Loops |
− | |/ | + | |lang=block |
− | | | + | |
}} | }} | ||
Line 12: | Line 11: | ||
− | == <tt>If...Then...Else</tt> == | + | == <tt>If...Then...Else</tt> == |
+ | |||
+ | |||
+ | 最常用的分支语句是 <tt>If</tt> 语句中所示: | ||
+ | |||
+ | |||
+ | <source lang="oobas"> | ||
+ | If A > 3 Then | ||
+ | B = 2 | ||
+ | End If | ||
+ | </source> | ||
+ | |||
+ | |||
+ | } <tt>B = 2</tt> 指定仅发生在变量 <tt>A</tt> 大于3。 的变体 <tt>If</tt> 语句是 <tt>If/Else</tt> 子句: | ||
− | + | <source lang="oobas"> | |
+ | If A > 3 Then | ||
+ | B = 2 | ||
+ | Else | ||
+ | B = 0 | ||
+ | End If | ||
+ | </source> | ||
− | + | 在本例中,变量 <tt>B</tt> 的值被指定为2时 <tt>A</tt> 大于3,否则 <tt>B</tt> 的值被指定为0。 | |
− | + | ||
− | + | ||
− | + | ||
− | </ | + | |
− | + | 对于更复杂语句,可以级联的 <tt>If</tt> 语句,例如: | |
− | + | <source lang="oobas"> | |
− | + | If A = 0 Then | |
− | + | B = 0 | |
− | + | ElseIf A < 3 Then | |
− | + | B = 1 | |
− | End If | + | Else |
− | </source> | + | B = 2 |
+ | End If | ||
+ | </source> | ||
− | + | 如果该值的变量 <tt>A</tt> 等于零, <tt>B</tt> 的值指定为0。 如果 <tt>A</tt> 小于3(但不等于0),则 <tt>B</tt> 的值指定为1。 在所有其他情况下(也就是说,如果 <tt>A</tt> 大于或等于3) <tt>B</tt> 的值指定为2。 | |
− | |||
− | + | 一个全面,声明可写在单一行,并使用一种简单语法。 第一个例子此页面可以写成: | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | <source lang="oobas"> | |
+ | If A > 3 Then B = 2 | ||
+ | </source> | ||
+ | 第二个示例,此页面可以写成: | ||
+ | <source lang="oobas"> | ||
+ | If A > 3 Then B = 2 Else B = 0 | ||
+ | </source> | ||
− | == <tt>Select...Case</tt> == | + | == <tt>Select...Case</tt> == |
− | + | 该 <tt>Select...Case</tt> 指令可替代级联 <tt>If</tt> 语句,它用于需要来检查某个值按照各种条件: | |
− | + | <source lang="oobas"> | |
− | Select | + | Select Case DayOfWeek |
− | + | Case 1: | |
− | NameOfWeekday=" | + | NameOfWeekday = "Sunday" |
− | + | Case 2: | |
− | NameOfWeekday=" | + | NameOfWeekday = "Monday" |
− | + | Case 3: | |
− | NameOfWeekday="Tuesday" | + | NameOfWeekday = "Tuesday" |
− | + | Case 4: | |
− | NameOfWeekday=" | + | NameOfWeekday = "Wednesday" |
− | + | Case 5: | |
− | NameOfWeekday=" | + | NameOfWeekday = "Thursday" |
− | + | Case 6: | |
− | NameOfWeekday=" | + | NameOfWeekday = "Friday" |
− | + | Case 7: | |
− | NameOfWeekday=" | + | NameOfWeekday = "Saturday" |
− | End Select | + | End Select |
− | </source> | + | </source> |
− | 在本示例中, | + | 在本示例中,名称工作日都对应一个数字,因此,该 <tt>DayOfWeek</tt> 变量的值指定为1用于 <tt>Sunday</tt>,2代表 <tt>Monday</tt> 值,并依次类推。 |
− | + | 此 <tt>Select</tt> 命令不限于简单的1:1赋值,也可以指定比较运算符或表达式列单的 <tt>Case</tt> 分支。 以下示例列出最重要的语法变体: | |
− | + | <source lang="oobas"> | |
− | Select Case | + | Select Case Var |
− | + | Case 1 To 5 | |
− | '... | + | ' ... Var is between the numbers 1 and 5 (including the values 1 and 5). |
− | + | Case > 100 | |
− | '... | + | ' ... Var is greater than 100 |
− | + | Case 6, 7, 8 | |
− | '... | + | ' ... Var is 6, 7 or 8 |
− | + | Case 6, 7, 8, > 15, < 0 | |
− | '... | + | ' ... Var is 6, 7, 8, greater than 15, or less than 0 |
− | Case Else | + | Case Else |
− | '... | + | ' ... all other instances |
− | End Select | + | End Select |
− | </source> | + | </source> |
Line 108: | Line 121: | ||
− | + | <source lang="oobas"> | |
− | Select Case | + | Select Case Var |
− | + | Case Var = 8 | |
− | '... | + | ' ... Var is 0 |
− | Case Else | + | Case Else |
− | '... | + | ' ... all other instances |
− | End Select | + | End Select |
− | </source> | + | </source> |
− | 说明(Var=8)计算为true | + | 说明(Var = 8)计算为true var8,否则为False。 为true,-1和设置为false,0。 "Select Case语句的求值的表达式,它是True或False,然后比较的值设置为var。 当var0,则匹配。 如果您知道最后一个示例,则您还知道为何本示例不做它显示 |
− | + | <source lang="oobas"> | |
− | Select Case | + | Select Case Var |
− | + | Case Var > 8 And Var < 11 | |
− | '... | + | ' ... Var is 0 |
− | Case Else | + | Case Else |
− | '... | + | ' ... all other instances |
− | End Select | + | End Select |
− | </source> | + | </source> |
− | {{InterWiki Languages BasicGuide|articletitle= | + | {{InterWiki Languages BasicGuide|articletitle=}} |
+ | {{PDL1}} | ||
− | + | [[Category:G11n Wiki Translation]] |
Latest revision as of 14:44, 21 October 2009
使用分支语句可以限制执行代码块,直到特定条件满足。
If...Then...Else
最常用的分支语句是 If 语句中所示:
If A > 3 Then B = 2 End If
} B = 2 指定仅发生在变量 A 大于3。 的变体 If 语句是 If/Else 子句:
If A > 3 Then B = 2 Else B = 0 End If
在本例中,变量 B 的值被指定为2时 A 大于3,否则 B 的值被指定为0。
对于更复杂语句,可以级联的 If 语句,例如:
If A = 0 Then B = 0 ElseIf A < 3 Then B = 1 Else B = 2 End If
如果该值的变量 A 等于零, B 的值指定为0。 如果 A 小于3(但不等于0),则 B 的值指定为1。 在所有其他情况下(也就是说,如果 A 大于或等于3) B 的值指定为2。
一个全面,声明可写在单一行,并使用一种简单语法。 第一个例子此页面可以写成:
If A > 3 Then B = 2
第二个示例,此页面可以写成:
If A > 3 Then B = 2 Else B = 0
Select...Case
该 Select...Case 指令可替代级联 If 语句,它用于需要来检查某个值按照各种条件:
Select Case DayOfWeek Case 1: NameOfWeekday = "Sunday" Case 2: NameOfWeekday = "Monday" Case 3: NameOfWeekday = "Tuesday" Case 4: NameOfWeekday = "Wednesday" Case 5: NameOfWeekday = "Thursday" Case 6: NameOfWeekday = "Friday" Case 7: NameOfWeekday = "Saturday" End Select
在本示例中,名称工作日都对应一个数字,因此,该 DayOfWeek 变量的值指定为1用于 Sunday,2代表 Monday 值,并依次类推。
此 Select 命令不限于简单的1:1赋值,也可以指定比较运算符或表达式列单的 Case 分支。 以下示例列出最重要的语法变体:
Select Case Var Case 1 To 5 ' ... Var is between the numbers 1 and 5 (including the values 1 and 5). Case > 100 ' ... Var is greater than 100 Case 6, 7, 8 ' ... Var is 6, 7 or 8 Case 6, 7, 8, > 15, < 0 ' ... Var is 6, 7, 8, greater than 15, or less than 0 Case Else ' ... all other instances End Select
现在请考虑不正确(高级)和生成常见的错误:
Select Case Var Case Var = 8 ' ... Var is 0 Case Else ' ... all other instances End Select
说明(Var = 8)计算为true var8,否则为False。 为true,-1和设置为false,0。 "Select Case语句的求值的表达式,它是True或False,然后比较的值设置为var。 当var0,则匹配。 如果您知道最后一个示例,则您还知道为何本示例不做它显示
Select Case Var Case Var > 8 And Var < 11 ' ... Var is 0 Case Else ' ... all other instances End Select
Content on this page is licensed under the Public Documentation License (PDL). |