如何在 Flex 中定义布尔值
How to define a boolean in Flex
我正在为玩具 Java 语言 (Decaf) 构建编译器,但我在定义布尔值时遇到了问题。当我尝试分析一个布尔值时,它总是 returns false,无论我是否写了 false。
弹性代码:
true|false {
yylval.boolConstant = yytext;
return T_BoolConstant;
}
输入代码:
bool x = true;
bool y = false;
输出:
true T_BoolConstant (value = false)
false T_BoolConstant (value = false)
我尝试搜索 SO 但这是我能得到的最接近正确答案的方法:
Simulating Booleans in Bison with C
谢谢!
EDIT:输出被编码在一个单独的 c 文件中,该文件打印在测试代码中找到的字符串,它是什么类型的值(在这种情况下它是布尔值或 BooleanConstant),然后保存的令牌的值。抱歉造成任何混淆。
我认为您需要将字符串 "true"
和 "false"
转换为布尔常量 true
和 false
。否则你只是存储字符串。
true {
yylval.boolConstant = true;
return T_BoolConstant;
}
false {
yylval.boolConstant = false;
return T_BoolConstant;
}
Here is a similar question with a different approach.
**Uson for the web services**
private var IsCity:Boolean = true;
private function button_click():void {
//dg.dataProvider= countrys
webService.getCountries.send(1,0);
}
private function getCountries_result(evt:ResultEvent):void {
//var countryList:ArrayCollection=evt.result as ArrayCollection;
dg.dataProvider=evt.result as ArrayCollection;
}
private function dgridclick():void{
IsCity=false;
webService.getSubLocationsByMultipleParameters.send(1,2,true,dg.selectedItem.id,dg.selectedItem.targetCode)
}
private function getState_result(evt:ResultEvent):void{
if(IsCity)
dg2.dataProvider=evt.result as ArrayCollection;
else
dg1.dataProvider=evt.result as ArrayCollection;
}
private function d1click():void{
IsCity=true
webService.getSubLocationsByMultipleParameters.send(1[4,3],false,dg1.selectedItem.id,dg1.selectedItem.targetCode);
}
我正在为玩具 Java 语言 (Decaf) 构建编译器,但我在定义布尔值时遇到了问题。当我尝试分析一个布尔值时,它总是 returns false,无论我是否写了 false。
弹性代码:
true|false {
yylval.boolConstant = yytext;
return T_BoolConstant;
}
输入代码:
bool x = true;
bool y = false;
输出:
true T_BoolConstant (value = false)
false T_BoolConstant (value = false)
我尝试搜索 SO 但这是我能得到的最接近正确答案的方法:
Simulating Booleans in Bison with C
谢谢!
EDIT:输出被编码在一个单独的 c 文件中,该文件打印在测试代码中找到的字符串,它是什么类型的值(在这种情况下它是布尔值或 BooleanConstant),然后保存的令牌的值。抱歉造成任何混淆。
我认为您需要将字符串 "true"
和 "false"
转换为布尔常量 true
和 false
。否则你只是存储字符串。
true {
yylval.boolConstant = true;
return T_BoolConstant;
}
false {
yylval.boolConstant = false;
return T_BoolConstant;
}
Here is a similar question with a different approach.
**Uson for the web services**
private var IsCity:Boolean = true;
private function button_click():void {
//dg.dataProvider= countrys
webService.getCountries.send(1,0);
}
private function getCountries_result(evt:ResultEvent):void {
//var countryList:ArrayCollection=evt.result as ArrayCollection;
dg.dataProvider=evt.result as ArrayCollection;
}
private function dgridclick():void{
IsCity=false;
webService.getSubLocationsByMultipleParameters.send(1,2,true,dg.selectedItem.id,dg.selectedItem.targetCode)
}
private function getState_result(evt:ResultEvent):void{
if(IsCity)
dg2.dataProvider=evt.result as ArrayCollection;
else
dg1.dataProvider=evt.result as ArrayCollection;
}
private function d1click():void{
IsCity=true
webService.getSubLocationsByMultipleParameters.send(1[4,3],false,dg1.selectedItem.id,dg1.selectedItem.targetCode);
}