Python如何评估表达式1+++2
?
我介绍了多少+
,它是打印3
作为答案.请任何人都可以解释这种行为
因为1--2
它是印刷3
,因为1---2
它是印刷-1
我有一个基类,Statement
,这是其它几类从,继承命名IfStatement
,WhereStatement
等...什么是在执行测试的最佳方式if
声明,以确定哪种类型的Statement
一个实例从派生类?
我必须转换传递varchar
一个查询的MSSQL存储过程:
INSERT INTO Results
EXEC (@Expresion);
Run Code Online (Sandbox Code Playgroud)
这不起作用.我敢肯定,EXEC
而EXECUTE
不是MySQL的命令,但CALL
也不管用.
有谁知道甚至可能有类似JavaScript的eval
MySQL函数吗?
我的问题使用Java作为例子,但我想它可能适用于所有.
在比较布尔值时,XOR运算符(在java中是^)和NOT-EQUAL-TO(在java中是!=)之间是否存在实际差异?
我在这里评估了一些东西,但我一直在想(似乎很奇怪,两件事情相等)......并且没有在网上找到任何东西.在一些论坛中只有一次讨论快速结束而没有任何结果.
使用以下定义:
lenDigits n = length (show n)
factorial n = product [1..n]
Run Code Online (Sandbox Code Playgroud)
我评估以下内容
Prelude> ((lenDigits . factorial) 199) <= 199
False
Prelude> (\i -> ((lenDigits . factorial) i) <= i) 199
True
Run Code Online (Sandbox Code Playgroud)
这种行为的原因是什么?在我看来,第一个表达式与第二个表达式相同,lambdas减少了.
这个问题源于一个挑战布伦特Yorgey提出在OPLSS:写一个函数f :: (Int -> Int) -> Bool
区分f undefined
的f (\x -> undefined)
.我们所有的答案要么被使用,seq
要么类似于令人厌恶的爆炸模式seq
.例如:
f :: (Int -> Int) -> Bool
f g = g `seq` True
*Main> f undefined
*** Exception: Prelude.undefined
*Main> f (\x -> undefined)
True
Run Code Online (Sandbox Code Playgroud)
该GHC评上seq
说,
e1 `seq` e2
Run Code Online (Sandbox Code Playgroud)
过去常见的
case e1 of { _ -> e2 }
Run Code Online (Sandbox Code Playgroud)
所以我尝试了手工制作.它不起作用:
f' g = case g of { _ -> True }
*Main> f' undefined
True
*Main> …
Run Code Online (Sandbox Code Playgroud) 这里是评估文档的摘录:(参见http://hackage.haskell.org/packages/archive/base/4.5.0.0/doc/html/Control-Exception-Base.html#v:evaluate)
Run Code Online (Sandbox Code Playgroud)Control.Exception.Base.evaluate :: a -> IO a
是不一样的
Run Code Online (Sandbox Code Playgroud)evaluate x
一个正确的定义是
Run Code Online (Sandbox Code Playgroud)return $! x
我不明白这两个定义之间的语义差异......是否有人可以帮助我?提前致谢!
我有一个有时间(分钟和秒)的文件,看起来大致如下:
02:53 rest of line 1...
03:10 rest of line 2...
05:34 rest of line 3...
05:35 rest of line 4...
10:02 rest of line 5...
...
Run Code Online (Sandbox Code Playgroud)
我想在几秒钟内将时间替换为等效时间.理想情况下,我想运行这样一个神奇的命令:
:%s/^\(\d\d\):\(\d\d\) \(.*\)/(=\1*60 + \2) \3/g
Run Code Online (Sandbox Code Playgroud)
......这(=\1*60 + \2)
是神奇的部分.我知道我可以使用特殊寄存器插入评估结果=
,但有没有办法在正则表达式的替代部分执行此操作?
考虑以下:
class MyClass
{
private $var1 = "apple";
private $var2 = "orange";
}
$obj = new MyClass();
if($obj) {
// do this
}
else {
// do that
}
Run Code Online (Sandbox Code Playgroud)
PHP将我的对象评估为true,因为它有成员变量.这个逻辑可以以某种方式被覆盖吗?换句话说,当我被视为布尔值时,我可以控制我的类的对象将被评估的内容吗?