我正在使用D3函数each,它接受一个回调函数并调用它this作为参数传递,但我需要同时访问this和_this.这是coffeescript代码:
@x = d3.scale.ordinal().domain(d3.range(@model.geneExpressions[0].length)).rangeBands([0, width])
getRow = (row) =>
cell = d3.select(this).selectAll(".cell")
.data(row)
.enter().append("rect")
.attr("x", (d,i) => @x(i))
rows = @heatmap.selectAll(".row")
.data(@model.geneExpressions)
.enter().append("g")
.each(getRow)
Run Code Online (Sandbox Code Playgroud)
以及它生成的javascript:
var _this = this;
this.x = d3.scale.ordinal().domain(d3.range(this.model.geneExpressions[0].length)).rangeBands([0, width]);
getRow = function(row) {
var cell;
return cell = d3.select(_this).selectAll(".cell").data(row).enter().append("rect").attr("x", function(d, i) {
return _this.x(i);
})
};
rows = this.heatmap.selectAll(".row").data(this.model.geneExpressions).enter().append("g").attr("class", "row").each(getRow);
Run Code Online (Sandbox Code Playgroud)
我怎样才能this在这一行中使用coffeescript 并保持一致?:
return cell = d3.select(this) ...
Run Code Online (Sandbox Code Playgroud)
问题是我无法将@x作为参数传递给each并使用细箭头而不是胖箭头(因为那时我无法访问@x),除非我重写D3函数,这似乎有点过分.
我严重依赖该File: Open Recent\xe2\x80\xa6命令来打开常用文件,但昨天我的本地 Google 云端硬盘文件夹已移至新位置,现在我无法再通过“打开最近的”面板访问该文件夹中的任何文件,因为路径不匹配。
修复方法很简单,只需将“/Google Drive/”替换为“/Google Drive/My Drive/”,但我不知道哪个文件包含最近打开的面板中显示的文件列表。
\n我假设它在某个地方~/Library/Application Support/Code,但不确定在哪里。
我可以摆脱eval这里吗?我试图设置$current_database由用户输入(国家和行动)确定的适当变量
# User input
country="es"
action="sales"
# Possible variables for current_database
final_es_sales_path="blahblah/es/sales.csv"
final_en_support_path="yadayada/en/support.csv"
final_it_inventory_path="humhum/it/inventory.csv"
...
current_database=$(eval echo \${final_${country}_${action}_path})
Run Code Online (Sandbox Code Playgroud) 这有效,但我想知道是否有更好的方法来过滤索引:
a = [10,20,30,40]
b = [1,3]
a.filter((x,i) => b.includes(i))
// [20, 40]
Run Code Online (Sandbox Code Playgroud) 当我使用时,pstree我看到线条只到达终端宽度(也就是说,没有自动换行),但是当我grep输出时,它确实会换行.它用于改变这种行为的功能是什么?
bash$ pstree
\--= 76211 _spotlight /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Versions/A/Support/mdworker MDSImporte
bash$ pstree | grep MDSImporte
\--= 76211 _spotlight /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Versions/A/Support/mdworker MDSImporterWorker com.apple.Spotlight.ImporterWorker.89
Run Code Online (Sandbox Code Playgroud) 我是一个完整的iPython新手,但我想知道是否有办法获得最后分配的变量的值:
In [1]: long_variable_name = 333
In [2]: <some command/shortcut that returns 333>
Run Code Online (Sandbox Code Playgroud)
在R我们有.Last.value:
> long_variable_name = 333
> .Last.value
[1] 333
Run Code Online (Sandbox Code Playgroud) 我使用Chrome和PhantomJS作为浏览器运行业力.使用Chrome,我没有错误; 使用PhantomJS我得到了这个:
PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
TypeError: undefined is not a constructor (evaluating 'action(dstObject[propName], srcObject[propName])')
at webpack:///~/my-library/dist/my-library.full.js:94:0 <- index.js:10919
PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 0 of 0 SUCCESS (0 secs / 0 secs)
TOTAL: 0 SUCCESS
Run Code Online (Sandbox Code Playgroud)
基本上,我的测试没有运行,因为有一些事情my-library,这是一个节点依赖.我的问题是:如何调试此错误?
我正在调用业力,karma start test/unit/karma.conf.js在那里我可以看到files:['./index.js'],当我查看这个文件时,我看到了这个:
// require all test files (files that ends with .spec.js)
const testsContext = require.context('./specs', true, /\.spec$/)
testsContext.keys().forEach(testsContext)
Run Code Online (Sandbox Code Playgroud)
require.context是一个webpack函数,它创建一个上下文加载我的spec文件,这些文件由返回testsContext.keys()但是这是我能够去的.
我很感激任何想法,以了解实际发生的事情.
我想知道是否可以创建ls一个URL,所以我可以看到例如网站中有哪些*.js文件.就像是:
wget --list-files -A.js stackoverflow.com
Run Code Online (Sandbox Code Playgroud)
得到
ajax/libs/jquery/1.7.1/jquery.min.js
js/full.js
js/stub.js
...
Run Code Online (Sandbox Code Playgroud) 像这样的东西,但它不起作用:
```{r examples, engine="bash"}
export EXAMPLES="example/path"
```
```{r example1, engine="bash"}
echo $EXAMPLES
```
Run Code Online (Sandbox Code Playgroud)
但这有效:
```{r examples2, engine="bash"}
export EXAMPLES="example/path"
echo $EXAMPLES
```
Run Code Online (Sandbox Code Playgroud) 我一直在阅读R源代码,试图理解它如何分页帮助页面(例如?c).我认为它正在使用less,但我无法找到执行此操作的功能.我想我能做到system(gettextf("echo %s | less", my_text)),但它在Windows中不起作用.