我试图以这样的方式做20 + 10
:
(10&+~) 20
然后我意识到副词&
有"短右手"。所以它应该是
(10&(+~)) 20
这给了我正确答案:30。但出于好奇
(10&+~) 20
给出220.为什么?
更奇怪的是,
(10&+~) 0.1
提供"域名错误'
答案 0 :(得分:7)
(10&+~) 20
是10 (&+~) 20
。这似乎是一个叉子或一个钩子,但它不是因为~
和&
是特殊的雪花。必须首先处理~
,因此您的表达式为10 (&+)~ 20
。现在,&+
无法独立存在,因此~
必须在这里反思。你的表达现在是
20 (10 (&+)) 20
现在导致了特殊的二元条件 - &
成为一种力量(^:
):x m&v y ↔ m&v^:x y
。所以,最后,表达式变为:
(10&+)^:20 ] 20
220
显然,您无法使用非整数的电源,因此(10&+~)0.1
是域错误。