1
sarvatathagata 2020-04-30 17:20:18 +08:00
break 是一条语句,不能被转换成一个值。然而&&操作符的两侧必须是值
|
2
kiracyan 2020-04-30 17:36:24 +08:00
这编译报错吧
|
3
phpfpm 2020-04-30 17:38:04 +08:00 4
看了你的头像,我发出了沉思:可能你入错行了。。
|
4
DL9412 2020-04-30 17:38:10 +08:00
个人理解,逻辑运算符两端都应该是一个值,或者能输出值的表达式。break,return,continue 都没法转换为值。
你 Boolean(break)也会报一样的错误。 看见一个类似的问题 http://stackmirror.caup.cn/page/rh50ycxwvuig |
5
liuxiaohua 2020-04-30 17:38:22 +08:00
楼主这是哪门子的语法 第一次见
|
6
kumasama 2020-04-30 17:45:14 +08:00
哪有这种语法,不加&&多简洁
|
7
Cielos OP |
8
hbolive 2020-04-30 17:45:51 +08:00
头像把我吸引进来的。。
|
9
annielong 2020-04-30 17:47:13 +08:00
老老实实按语法走不好吗、
|
10
sneezry 2020-04-30 17:47:57 +08:00 via iPhone 1
是参考了 make && make install 么 (doge
|
11
vicnicLight007 2020-04-30 17:49:13 +08:00
请给我你头像的高清大图链接,谢谢
|
12
krixaar 2020-04-30 17:51:11 +08:00
我大概明白了,因为 true && expr2 返回 expr2,所以楼主认为 true && break;返回 break;,然后 for 循环就被 break 了🤣
break;是个 statement (语句)不是 expression (表达式),所以不能用在这里🤣 参考: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Expressions_and_Operators |
14
l1nyanm1ng 2020-04-30 17:57:55 +08:00
大大大(指代码
doge |
15
fengtons 2020-04-30 18:12:07 +08:00 via Android 2
这种写法估计是 SHELL 写多了
|
16
InkStone 2020-04-30 18:14:48 +08:00
其实如果 break 不是一个语句是一个表达式的话,这样写问题不大。
毕竟 C 的短路求值是标准行为。 |
17
autoxbc 2020-04-30 18:50:43 +08:00
1. 代码要语义化,看起来在做的事情就应该是你真的希望做的事情
2. 不要利用副作用,副作用可能被标准化,也可能不是 |
18
liuzhiyong 2020-04-30 19:42:35 +08:00
劝告楼主不要这样操作,代码首要任务是可读性,况且你这奇怪写法还没有性能提升。
|
19
Takamine 2020-04-30 21:09:21 +08:00
我记得 PHP 里面有这种写法来着,不如试试上手世界上最好的语言。:doge:
|
20
lizz666 2020-04-30 21:26:04 +08:00
|
21
xingheng 2020-04-30 23:58:53 +08:00
Hello, world!
Goodbye, world! |
22
cigarzh 2020-05-02 12:22:13 +08:00
shell 写多了……
|