我有一个cabal包,我有一个test-suite
使用该exitcode-stdio-1.0
类型的设置,如下所示:
当我使用它时cabal test
,cabal不会打印可执行文件的标准输出/标准错误; 它只打印自己的日志信息:
$ cabal test
Running 1 test suites...
Test suite test-foo: RUNNING...
Test suite test-foo: PASS
Test suite logged to: dist/test/foo-0.0.1-test-foo.log
1 of 1 test suites (1 of 1 test cases) passed.
$
Run Code Online (Sandbox Code Playgroud)
我想要的输出是在该日志文件中:
$ cat dist/test/foo-0.0.1-test-fo.log
Test suite test-foo: RUNNING...
HUnit group 1:
Expected connect: [OK]
Test Cases Total
Passed 1 1
Failed 0 0
Total 1 1
Test suite test-foo: PASS
Test suite logged to: dist/test/foo-0.0.1-test-foo.log
$
Run Code Online (Sandbox Code Playgroud)
如何让cabal将此输出打印到自己的标准输出?我在文档中找不到它.
假设我在上下文中有两个假设,a_b : A -> B
并且a : A
.我应该能够申请a_b
到a
获得进一步的假设,b : B
.
也就是说,给定以下状态:
1 subgoal
A : Prop
B : Prop
C : Prop
a_b : A -> B
a : A
______________________________________(1/1)
C
Run Code Online (Sandbox Code Playgroud)
应该有一些策略,foo (a_b a)
将其转换为以下状态:
1 subgoal
A : Prop
B : Prop
C : Prop
a_b : A -> B
a : A
b : B
______________________________________(1/1)
C
Run Code Online (Sandbox Code Playgroud)
但我不知道是什么foo
.
我能做的一件事是:
assert B as b.
apply a_b. …
Run Code Online (Sandbox Code Playgroud) jnp://localhost:1099/
在阅读HornetQ时,我看到了提到的网址.jnp
协议是什么?它代表什么?规格在哪里?
我能找到的只是这个论坛帖子,"什么是JNP",其中的问题没有得到解答.
如果我写
var a = [1,2];
var b = {
foo: a.pop(),
bar: a.pop()
};
Run Code Online (Sandbox Code Playgroud)
b
根据规格,价值是多少?
(通过实验,它是{foo: 2, bar: 1}
,但我担心这是否是特定于实现的.)
PHP提供了一些令人印象深刻的反省设施:get_defined_vars
,get_defined_functions
,get_defined_constants
,debug_backtrace
,和其他人.从本质上讲,它们提供了整个程序状态的视图:堆栈和堆.我想知道使用这些设施可以获得的程序状态的完整视图.
可以将作用域中的堆和所有已定义的变量建模为标记的有向图.例如,有可能写一些能给我Graphviz/DOT描述的东西吗?我正在想象类似于本文中关于"PHP如何管理变量"的图表,或者关于垃圾收集的PHP手册页面中的图表.
PHPUnit似乎通过序列化预期值和实际值来打印失败的测试用例,并显示它们之间的差异.此外,序列化使用省略号截断值,隐藏我想要的信息.
这是PHPUnit生成的输出示例:
/Foo/Bar/Baz.php:31
8) Foo\Bar\Baz::test with data set #7 ('foo,bar,baz,qux', array(array('foo', 'bar'), array('baz', 'qux')))
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
Array (
- 0 => Array (...)
- 1 => Array (...)
+ 'j' => 16
+ 'args' => Array (...)
)
Run Code Online (Sandbox Code Playgroud)
我希望看到完整的预期值和完整的实际值.我也希望它扩展那些...
被忽略的价值观.我怎么做到这一点?
SQLite的内置日期和时间函数能够将日期和时间存储为TEXT,REAL或INTEGER值
我想使用这些函数来存储INTEGER
值.我该怎么办?SQLite3 datetime函数的文档描述了这些函数的参数类型,但没有提到返回类型.似乎返回类型是text
:
sqlite> select typeOf(datetime('2014-12-12 12:12:12.000'));
text
Run Code Online (Sandbox Code Playgroud)
这不是我想要的 - 我想要一个整数值来表示该时间作为UNIX时间戳.即使我创建了一个类型的列integer
并尝试在其中存储datetime(...)
值,SQLite也将其存储text
为该integer
列中的值.
如何强制datetime
函数和朋友返回UNIX时间戳而不是text
值?
我希望建模一个可以有两种可能形式的值:缺席或字符串.
执行此操作的自然方式是with Maybe String
,or Optional<String>
,or string option
等.但是,Go没有这样的变体类型.
然后我想,在Java,C等之后,替代方案将是可空性,或者nil
在Go中.但是,nil
不是string
Go 中的类型成员.
搜索,然后我想使用该类型*string
.这可能有效,但看起来很尴尬(例如,我不能采用字符串文字的地址,就像我可以获取结构文字的地址一样).
在Go中模拟这样一个值的惯用方法是什么?
当我跑步时virtualenv
,我明白了:
$ virtualenv
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)
virtualenv
今天才开始以这种方式行事.它昨天工作.它因为virtualenv
使用不存在的Python解释器的Python脚本而中断:
$ head -1 $(which virtualenv)
#!/usr/local/opt/python/bin/python2.7
Run Code Online (Sandbox Code Playgroud)
在我的机器上,/usr/local/opt/python
是Python 3.6目录的符号链接:
$ ls -l /usr/local/opt/python
lrwxr-xr-x 1 jim admin 24 2 Mar 13:45 /usr/local/opt/python -> ../Cellar/python/3.6.4_3
Run Code Online (Sandbox Code Playgroud)
正如所料,Python 3.6目录不包含bin/python2.7
:
$ ls /usr/local/Cellar/python/3.6.4_3/bin/
2to3 idle pip3 pydoc3.6 python3-config python3.6m-config wheel3
2to3-3.6 idle3 pip3.6 python python3.6 pyvenv
easy_install idle3.6 pydoc python-config python3.6-config pyvenv-3.6
easy_install-3.6 pip pydoc3 python3 python3.6m wheel
Run Code Online (Sandbox Code Playgroud)
virtualenv
显然希望/usr/local/opt/python
包含Python …