我在为这个三元运算符编写正确的语法时遇到了麻烦。我想写三个if语句和一个else语句。
但据我所知,三元运算符只适用于if/else。
如何纠正代码中的错误?
Text(
(browns == true && blacks == true && whites == true)
? 'Proportion: $browns agutis : $blacks pretos : $whites albinos'
: (yellows == true && yellows == true && blacks == true)
? 'Proportion: $yellows dourados : $blacks pretos : $browns chocolates'
: (reds == true && yellows == true && blacks == true)
? 'Proportion: $reds coloridos : $whites brancos'
: 'Invalid proportion',
),
字符串
编辑(显示更多代码):
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
brownBlackWhites
? 'Proportion: $browns agutis : $blacks pretos : $whites albinos'
: brownYellowBlack
? 'Proportion: $yellows dourados : $blacks pretos : $browns chocolates'
:
// else if
redWhite
? 'Proportion: $reds coloridos : $whites brancos'
// else
: 'Invalid proportion',
style: TextStyle(
fontFamily: 'courier',
fontSize: 20.0,
fontWeight: FontWeight.bold,
height: 2.5,
letterSpacing: 0.7),
),].),),
型
根据第一代码片段的图像:x1c 0d1x的数据
3条答案
按热度按时间yxyvkwin1#
if (browns == true)
与if (browns)
相同,因此可以将条件存储在三个变量中,以提高可读性字符串
编辑
从那一行去掉点
型
成为
型
编辑2
型
问题是browns的类型是int,所以
browns == true
不能工作,因为'=='比较两个相同的类型,而在这种情况下,你比较int和boolean1tuwyuhd2#
我的建议是使用一个builder widget,使代码可读性和可维护性,而不与三元运算符冲突。三进制运算符很难理解和维护,如果有一个以上的条件。
字符串
pkmbmrz73#
这是在三元运算符中使用两个或多个条件的示例
字符串
enter image description here