我正在编写一个bash脚本来添加,提交,推送目录中的所有文件.
#!/bin/bash
git add .
read -p "Commit description: " desc
git commit -m $desc
git push origin master
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
$ ./togithub
Commit description:
test commit script
error: pathspec 'commit' did not match any file(s) known to git.
error: pathspec 'script"' did not match any file(s) known to git.
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)
我不确定这是读文本(这echo很好)或传递给它的问题git commit -m.
在a上绘制圆圈tkinter Canvas通常通过该create_oval方法完成.但是,提供边界框通常是考虑绘制圆形的一种令人困惑的方式.为它提供一个快捷方式并不是特别困难,但我找不到其他人做类似的事情,所以我会发布它希望别人觉得它有用.
要么我没有正确使用d3的selection.filter,要么它是错误的.我可以将这个问题提炼成几行.我在加载了d3的Chrome调试器中.让我们从一个空的选择开始
d3.selectAll("nonexistant").empty()
> true
Run Code Online (Sandbox Code Playgroud)
并将一些数据绑定到它.
d3.selectAll("nonexistant").data([1,2,3,4])
> [Array[4]]
Run Code Online (Sandbox Code Playgroud)
很好,所以它有四个.让我们检查一下selection.size:
d3.selectAll("nonexistant").data([1,2,3,4]).size()
> 0
Run Code Online (Sandbox Code Playgroud)
嗯,我想这是因为没有DOM元素,但更新选择是空的,因为没有以前的元素.因此,让我们做访问的输入选择.
d3.selectAll("nonexistant").data([1,2,3,4]).enter()
> [Array[4]]
d3.selectAll("nonexistant").data([1,2,3,4]).enter().size()
> TypeError: undefined is not a function
d3.selectAll("nonexistant").data([1,2,3,4]).enter().append("p").size()
> 4
Run Code Online (Sandbox Code Playgroud)
不确定为什么输入选择会导致错误,(更新:在v3.4.12中修复)但是无论如何,如果我们尝试使用文档中的示例函数进行过滤,
function odds(d, i) { return i & 1; }
d3.selectAll("nonexistant").data([1,2,3,4]).filter(odds);
> [Array[0]]
d3.selectAll("nonexistant").data([1,2,3,4]).enter().filter(odds);
> []
d3.selectAll("nonexistant").data([1,2,3,4]).enter().append("p").filter(odds)
> [Array[2]]
Run Code Online (Sandbox Code Playgroud)
当没有绑定DOM元素时,为什么要静默过滤掉所有元素?当我已经拥有DOM元素时,它似乎确实有效.但这感觉很无用,因为我不想为我丢弃的数据创建元素.也许我先把过滤器放进去了?
d3.selectAll("nonexistant").data([1,2,3,4]).filter(odds).enter().append("p").size()
> TypeError: undefined is not a function
d3.selectAll("nonexistant").data([1,2,3,4]).enter().filter(odds).append("p").size()
> TypeError: undefined is not a function
Run Code Online (Sandbox Code Playgroud)
不.似乎可行的方法是使用JS 对数组的本机过滤器:
d3.selectAll("nonexistant").data([1,2,3,4].filter(odds)).enter().append("p").size()
> 2 …Run Code Online (Sandbox Code Playgroud) 我有一个ViewController可重用的自定义,并且在一个NavigationController故事板中将任意数量的实例链接在一起,所有实例都与委托共享相同的模型.
该ViewController的需要告诉模型它们是实例.目前,他们有一个他们从segue获得的int属性,但它似乎不是非常惯用的,并且不适合屏幕上有多个实例(对于iPad).我认为必须有一个更清洁的方法来做到这一点,所以有谁知道它是什么?谢谢.
结果:self.view.tag
我想知道Python计数器中有多少项,包括重复项.我试过len,它告诉我独特物品的数量:
>>> c = Counter(x=3,y=7)
>>> len(c)
2
Run Code Online (Sandbox Code Playgroud)
我最好的是sum(c.itervalues())我认为并不可怕,但我希望Counter对象缓存值,以便我可以在O(1)中访问它.
我有一个非常大的 csv 文件,我正在使用 D3.js 对其进行可视化。其中一个数据字段是时间戳,因此(而不是一次显示所有这些信息)我想在与时间戳成比例的延迟后创建一个 svg 元素(基于其他数据字段),然后将其淡出三个秒。由于数据的大小,我无法预先创建所有元素,即使它们是不可见的;每个元素应该只存在三秒钟。想要的效果是一堆点突然出现然后消失。
我最好的尝试如下。策略是使用两个过渡:一个延迟,然后是淡入淡出过渡。它似乎不起作用,而是一次创建所有元素(尽管褪色有效)。
d3.csv(datafile).get(function(error, rows) {
for (var i = rows.length; i--;){
var d = rows[i];
plot.select("foo") // empty selection
.transition()
.delay(/*expression with d.timestamp*/)
.call(function(){
plot.append("circle")
.attr(/*several, snip */)
.style("opacity", 1)
.transition()
.duration(3000)
.style("opacity", 0)
.remove()
});
}
});
Run Code Online (Sandbox Code Playgroud)
编辑 2015年4 月自从提出问题以来学到了很多东西,显而易见的事情似乎是立即以 0 不透明度插入所有内容。然后创建一个持续时间 0、可变延迟过渡到 1 不透明度,然后从那里淡出。还可以使用嵌套选择来避免显式 for 循环。我还没有尝试过,但它应该可以工作。
有这个功能:
f : Int -> Int -> Int
f a b =
a + b
Run Code Online (Sandbox Code Playgroud)
有没有办法管道a和b?
我只有这么远,但我想知道是否有办法摆脱括号:
main =
1 |> (2 |> f) |> toString |> text
Run Code Online (Sandbox Code Playgroud)