小编jes*_*sta的帖子

是否有用于访问Chrome同步数据的API?

如果我想创建一个访问应用程序(不是Chrome扩展程序),比如Chrome浏览器同步的书签,我是否需要对Chrome/Chromium使用的界面进行反向工程?或者是否有已发布的API?

api bookmarks google-chrome

19
推荐指数
1
解决办法
3732
查看次数

AWK:两次完成文件,执行不同的任务

我正在处理一个相当大的推文集合,我想为每条推文获取其提及(其他用户的名字,前缀为一个@),如果提到的用户也在文件中:

users = new Dictionary()
for each line in file:
   username = get_username(line)
   userid   = get_userid(line)
   users.add(key = userid, value = username)
for each line in file:
   mentioned_names = get_mentioned_names(line)
   mentioned_ids = mentioned_names.map(x => if x in users: users[x] else null)
   print "$line | $mentioned_ids"
Run Code Online (Sandbox Code Playgroud)

我已经使用GAWK处理该文件,因此不再在Python或CI中再次处理它,而是决定尝试将其添加到我的AWK脚本中.但是,我无法找到一种方法来传递相同的文件,为每个文件执行不同的代码.大多数解决方案都意味着多次调用AWK,但后来我放弃了我在第一遍中创建的关联数组.

我可以用非常黑客的方式做到这一点(比如cat'将文件sed复制两次,将其传递给每个文件中的所有行添加不同的前缀cat),但我希望能在几个月内理解这些代码讨厌自己

AWK的做法是什么?

PD:

我找到的不那么可怕的方式:

function rewind(    i)
{
    # from https://www.gnu.org/software/gawk/manual/html_node/Rewind-Function.html
    # shift remaining arguments up
    for (i = ARGC; i > ARGIND; i--)
        ARGV[i] = …
Run Code Online (Sandbox Code Playgroud)

awk gawk

9
推荐指数
1
解决办法
2961
查看次数

使用done()测试Jasmine 2.0.0中的异步功能

我试图用一个简单的promise实现(异步代码)和done()函数实现jasmine测试,虽然被测试的代码运行得很好,但我的测试失败了.谁能帮助我弄清楚我的测试中缺少什么?

 var Test = (function () {
    function Test(fn) {
        this.tool = null;
        fn(this.resolve.bind(this));
    }
    Test.prototype.then = function (cb) {
        this.callback = cb;
    };
    Test.prototype.resolve = function (value) {
        var me = this;
        setTimeout(function () {
            me.callback(value);
        }, 5000);
    };
    return Test;
})();

describe("setTimeout", function () {

    var test, newValue = false,
        originalTimeout;
    beforeEach(function (done) {
        originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
        jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;

        test = new Test(function (cb) {
            setTimeout(function () {
                cb();
            }, 5000);
        });
        test.then(function () {
            newValue = …
Run Code Online (Sandbox Code Playgroud)

asynchronous jasmine

7
推荐指数
1
解决办法
1万
查看次数

如何命名产生闭包的函数

我理解闭包,尽管我几乎不使用它们,但是每当我可以挤压一个时,我都不知道如何命名它。

我能想到的最好的方法是在函数名称之前添加一个“make”:

function makeSortSelection(settings1, settings2) {
    return function() {
        /* sort stuff attending to settings1 and settings2 */
    };
}

$("#sort-button").click(makeSortSelection('ascending',foo));
Run Code Online (Sandbox Code Playgroud)

(我几乎总是在 Javascript 中使用它们,但我想这是一个与语言无关的问题)

可悲的是,我发现的大多数闭包示例都只使用“foo”或“sayHello”。我喜欢给我的所有函数一个动词作为名称:函数“做东西”,它们的名字反映了它(“sortSelection”,“populateForm”)。本着同样的精神,我应该如何命名“做某事”的闭包?你使用什么约定,最常见的是什么?

PD:当我有疑问时,我倾向于使用谷歌的风格指南,但它没有说明这一点。

closures naming naming-conventions

6
推荐指数
1
解决办法
1076
查看次数

在LISP中使用尾递归的二项式系数

我想编写一个函数来使用尾递归找到C(n,k),我将非常感谢你的帮助.

我达到了这个:

(defun tail-recursive-binomial (n k)
  (cond ((or (< n k) (< k 0)) NIL)
        ((or (= k 0) (= n k)) 1)
        (T (* (tail-recursive-binomial (- n 1) (- k 1)) (/ n k)))))
Run Code Online (Sandbox Code Playgroud)

使用二项式系数的以下属性.

但我不知道如何使递归调用成为每个实例执行的最后一条指令,因为最后一条指令是产品.我一直在尝试使用辅助功能,我认为这是唯一的方法,但我还没有找到解决方案.

lisp recursion tail-recursion binomial-coefficients

5
推荐指数
1
解决办法
2159
查看次数

有没有办法在Octave中打印至少20位有效数字?

我需要打印20个有效数字的程序结果,但我不知道如何打印超过15个数字(格式长).有没有办法实现这个目标?

precision octave significant-digits numerical-computing

4
推荐指数
1
解决办法
3935
查看次数

如何在data.frame中获取多个列的最常见组合,由其他列聚合?

假设我有一个具有以下结构的数据帧:

id  A  B
 1  1  1
 1  1  2
 1  1  2
 1  2  2
 1  2  3
 1  2  4
 1  2  5
 2  1  2
 2  2  2
 2  3  2 
 2  3  5 
 2  3  5 
 2  4  6
Run Code Online (Sandbox Code Playgroud)

我想获得的值的最常见的组合A,并B为每个id:

id  A  B
 1  1  2
 2  3  5
Run Code Online (Sandbox Code Playgroud)

我需要为一个相当大的数据集(数百万行)执行此操作.我有几个可怕的,缓慢的,非常惯用的解决方案; 我确信有一种简单的R-ish方式.

我想我应该使用aggregate,但我无法找到一种有效的方法:

> aggregate(cbind(A, B) ~ id, d, Mode)
  id A B
1  1 2 2
2  2 …
Run Code Online (Sandbox Code Playgroud)

r dataframe

4
推荐指数
1
解决办法
746
查看次数

如何回滚pg_fetch_assoc($ result,null)迭代器

我正在使用pg_fetch_assoc迭代SQL查询的结果,但我需要多次这样做,我找不到一种方法来"倒回"迭代器.

while ($record = pg_fetch_assoc($result, null)) {
    if ($record["position"] == $position_cell) {
        echo "<strong>J" . $record["order"] . " </strong>";
    };
}
Run Code Online (Sandbox Code Playgroud)

所以,如果这个$ result包含4行,我会遍历其中的4行,但是当我再次执行这段代码时,它什么都不做.

我知道我可以使用整数而不是空值进行迭代,但是我必须计算行数,并且我发现这种语法非常方便,所以如果你能告诉我一种方法,它会很棒.

非常感谢.

php postgresql

3
推荐指数
1
解决办法
1306
查看次数

如何设置日期时间的一部分

我需要将日期时间的小时设置为某个值.我知道我可以将差异添加到所需的值,或者使用原始部分创建一个新的日期时间,但是不是更清洁的方式吗?就像是:

declare @d datetime = '09/08/2012 09:14:55'

set @d = SETDATEPARTORSOMETHINGLIKETHAT (hour, @d, 23)
Run Code Online (Sandbox Code Playgroud)

非常感谢.

sql sql-server datetime

2
推荐指数
1
解决办法
126
查看次数