在Python(3.3.2)doctest中,省略号(...)可以匹配任何字符串.所以,对于下面的代码
def foo():
"""
>>> foo()
hello ...
"""
print("hello world")
Run Code Online (Sandbox Code Playgroud)
运行doctest时,不应该引发任何错误.但
$ python -m doctest foo.py
**********************************************************************
File "./foo.py", line 3, in foo.foo
Failed example:
foo()
Expected:
hello ...
Got:
hello world
**********************************************************************
1 items had failures:
1 of 1 in foo.foo
***Test Failed*** 1 failures.
Run Code Online (Sandbox Code Playgroud)
我必须做什么来启用椭圆?据我所知,默认情况下是禁用.
我知道添加# doctest: +ELLIPSIS,如下面的代码,解决它,但我喜欢为所有测试启用省略号.
def foo():
"""
>>> foo() # doctest: +ELLIPSIS
hello ...
"""
print("hello world")
Run Code Online (Sandbox Code Playgroud) 考虑一下该文件 sample.es6
switch (1) {
case 1:
const foo = 1;
break;
case 2:
const foo = 2;
break;
}
Run Code Online (Sandbox Code Playgroud)
如果我用Node运行它我得到了
$ node --version
v4.2.11
$ node sample.es6
/tmp/sample.es6:6
const foo = 2;
^
SyntaxError: Identifier 'foo' has already been declared
at Object.<anonymous> (/tmp/sample.es6:1:11)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:467:10)
at startup (node.js:134:18)
at node.js:961:3
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误?节点不应该评估const foo = 2;.
reticulate允许您从 R 与 Python 交互。在 Python 中,通常使用(类)方法与变量交互。使用 reticulate 时如何访问/执行 R 中一个 Python 变量的方法?例如,如果我创建以下 Python 字典:
```{python}
fruits = {
"apple": 53,
"banana": None,
"melon": 7,
}
```
Run Code Online (Sandbox Code Playgroud)
可以使用网状访问,
```{r}
py$fruits
```
## $apple
## [1] 53
##
## $banana
## NULL
##
## $melon
## [1] 7
Run Code Online (Sandbox Code Playgroud)
如何调用字典类(例如keys()R)中的方法之一?
```{python}
print(fruits.keys())
```
## dict_keys(['apple', 'banana', 'melon'])
Run Code Online (Sandbox Code Playgroud)
我试过:
```{r error=TRUE}
py$fruits$keys()
```
## Error in eval(expr, envir, enclos): attempt to apply non-function
```{r error=TRUE}
py$fruits.keys()
```
## Error in …Run Code Online (Sandbox Code Playgroud) 我想获得的所有分支的日志中只有当前树。
很长的故事
鉴于下面的 git 历史:
$ git log --all --decorate --oneline --graph
* 3d0cb35 (HEAD, master) 4th commit
| * a43b07c (branch) 4th commit in branch
|/
* 722745a 3rd commit
* 46d0d84 2nd commit
* 3060fe0 1st commit
Run Code Online (Sandbox Code Playgroud)
假设我创建了一个孤儿分支。
$ git checkout --orphan orphan
Switched to a new branch 'orphan'
Run Code Online (Sandbox Code Playgroud)
在孤儿分支中添加一个提交并尝试使用第一个命令来获取“第二个”树的 git 历史记录。
$ git log --all --decorate --oneline --graph
* 202f3c4 (HEAD, orphan) Orphan branch
* 3d0cb35 (master) 4th commit
| * a43b07c (branch) 4th commit …Run Code Online (Sandbox Code Playgroud) 不是完美的基准但是
$python --version
Python 3.4.2
$ python -m timeit 'print("foo" + str(3.14) + "bar")'
100000 loops, best of 3: 16.4 usec per loop
$ python -m timeit 'print("foo{}bar".format(3.14))'
100000 loops, best of 3: 19.2 usec per loop
Run Code Online (Sandbox Code Playgroud) python ×3
const ×1
doctest ×1
ecmascript-6 ×1
ellipsis ×1
git ×1
git-branch ×1
git-log ×1
javascript ×1
node.js ×1
python-3.x ×1
r ×1
reticulate ×1