Difference between revisions of "G11ntest/Documentation/BASIC Guide/Branching"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Created page with '{{DISPLAYTITLE:Branching}} {{文档//v2 | | |/Basic指南</运算符 |/Basic Guide/循环 | }} 使用分支语句可以限制执行代码块,直到特定条件满足。 …')
 
 
Line 1: Line 1:
 
{{DISPLAYTITLE:Branching}}
 
{{DISPLAYTITLE:Branching}}
 
+
{{Documentation/BASICGuideTOC/v2
{{文档//v2  
+
|ShowPrevNext=block
|
+
|ShowPrevPage=block
|
+
|PrevPage=Documentation/BASIC Guide/Operators
|/Basic指南</运算符
+
|NextPage=Documentation/BASIC Guide/Loops
|/Basic Guide/循环
+
|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> 子句:
  
  
最常用的分支语句是 <tt>如果</tt> 语句中所示:
+
<source lang="oobas">
 +
If A > 3 Then
 +
  B = 2
 +
Else
 +
  B = 0
 +
End If
 +
</source>
  
  
lang="">  
+
在本例中,变量 <tt>B</tt> 的值被指定为2时 <tt>A</tt> 大于3,否则 <tt>B</tt> 的值被指定为0。
如果>3Then
+
b=2
+
End If
+
</source>  
+
  
  
在 <tt>b=2</tt> 赋值才发生在变量 <tt>A</tt> 大于3。 的变体 <tt>如果</tt> 语句是 <tt>If/Else</tt> 子句:  
+
对于更复杂语句,可以级联的 <tt>If</tt> 语句,例如:  
  
  
lang="">  
+
<source lang="oobas">
如果>3Then
+
If A = 0 Then
b=2
+
  B = 0
其他
+
ElseIf A < 3 Then
b=0
+
  B = 1
End If  
+
Else
</source>  
+
  B = 2
 +
End If
 +
</source>
  
  
在本例中,变量 <tt>B</tt> 的值被指定为2中, <tt>一个</tt> 大于3,否则 <tt>B</tt> 的值指定为0。
+
如果该值的变量 <tt>A</tt> 等于零, <tt>B</tt> 的值指定为0。 如果 <tt>A</tt> 小于3(但不等于0),<tt>B</tt> 的值指定为1。 在所有其他情况下(也就是说,如果 <tt>A</tt> 大于或等于3) <tt>B</tt> 的值指定为2。
  
  
对于更复杂语句,可以级联 <tt>如果</tt> 语句,例如:
 
  
  
lang="">
+
一个全面,声明可写在单一行,并使用一种简单语法。 第一个例子此页面可以写成:
如果A=0Then
+
b=0
+
ElseIf A3,  
+
b=1
+
其他
+
b=2
+
End If
+
</source>
+
  
  
如果该值的变量 <tt>的</tt> 值等于零, <tt>B</tt> 的值指定为0。 如果 <tt>某个</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>如果</tt> 语句,它用于需要来检查某个值按照各种条件:  
+
<tt>Select...Case</tt> 指令可替代级联 <tt>If</tt> 语句,它用于需要来检查某个值按照各种条件:  
  
  
lang="">  
+
<source lang="oobas">
Select Case天
+
Select Case DayOfWeek
案例1:  
+
  Case 1:
NameOfWeekday="星期天"  
+
    NameOfWeekday = "Sunday"
案例2:  
+
  Case 2:  
NameOfWeekday="星期一"  
+
    NameOfWeekday = "Monday"
案例3:  
+
  Case 3:  
NameOfWeekday="Tuesday"  
+
    NameOfWeekday = "Tuesday"
case4:  
+
  Case 4:
NameOfWeekday="星期三"  
+
    NameOfWeekday = "Wednesday"
case5:  
+
  Case 5:
NameOfWeekday="星期四"  
+
    NameOfWeekday = "Thursday"
case6:  
+
  Case 6:
NameOfWeekday="星期五"  
+
    NameOfWeekday = "Friday"
case7:  
+
  Case 7:
NameOfWeekday="星期六"  
+
    NameOfWeekday = "Saturday"
End Select  
+
End Select
</source>  
+
</source>
  
  
在本示例中,名称对应于星期一个数字,以便 <tt>DayOfWeek</tt> 变量的值指定给1表示 <tt>星期日</tt>,2代表 <tt>星期一</tt> 值,依此类推。
+
在本示例中,名称工作日都对应一个数字,因此,该 <tt>DayOfWeek</tt> 变量的值指定为1用于 <tt>Sunday</tt>,2代表 <tt>Monday</tt> 值,并依次类推。
  
  
" <tt>select</tt> 命令不限于简单的1:1赋值,也可以指定比较运算符或表达式列单的 <tt>大小写</tt> 分支。 以下示例列出最重要的语法变体:  
+
<tt>Select</tt> 命令不限于简单的1:1赋值,也可以指定比较运算符或表达式列单的 <tt>Case</tt> 分支。 以下示例列出最重要的语法变体:  
  
  
lang="">  
+
<source lang="oobas">
Select Case var
+
Select Case Var
案例1到5
+
  Case 1 To 5                 
'... Var介于数字1和5之间(包括值1和5)
+
    ' ... Var is between the numbers 1 and 5 (including the values 1 and 5).
如果>100  
+
  Case > 100
'... Var大于100
+
    ' ... Var is greater than 100
如果6,7,8  
+
  Case 6, 7, 8                
'... Var为6、7或8
+
    ' ... Var is 6, 7 or 8
case6、7、8、15、<0  
+
  Case 6, 7, 8, > 15, < 0
'... Var为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:
  
  
lang="">  
+
<source lang="oobas">
Select Case var
+
Select Case Var
如果var=8  
+
  Case Var = 8
'... Var0
+
    ' ... Var is 0
Case Else  
+
  Case Else
'... 所有其他实例
+
    ' ... all other instances
End Select  
+
End Select
</source>  
+
</source>
  
  
说明(Var=8)计算为true var8和否则为False。 为true,-1和设置为false,0。 "Select Case语句的求值的表达式,它是True或False,然后比较的值设置为var。 当var0,则匹配。 如果您知道最后一个示例,则您还知道为何本示例不做它显示  
+
说明(Var = 8)计算为true var8,否则为False。 为true,-1和设置为false,0。 "Select Case语句的求值的表达式,它是True或False,然后比较的值设置为var。 当var0,则匹配。 如果您知道最后一个示例,则您还知道为何本示例不做它显示  
  
  
lang="">  
+
<source lang="oobas">
Select Case var
+
Select Case Var
如果var>8和var<11  
+
  Case Var > 8 And Var < 11
'... Var0
+
    ' ... Var is 0
Case Else  
+
  Case Else
'... 所有其他实例
+
    ' ... all other instances
End Select  
+
End Select
</source>  
+
</source>
  
  
  
  
{{InterWiki Languages BasicGuide|articletitle=Documentation/BASIC Guide/Branching}}
+
{{InterWiki Languages BasicGuide|articletitle=}}
 +
{{PDL1}}
  
{{PDL1}}[[Category:G11n Wiki Translation Testing]]
+
[[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).
Personal tools