小编cor*_*zza的帖子

Node说Jade没有方法"renderFile",为什么?

我安装了jade(npm install jade)并转到他们的github页面以获取一些示例.这就是我想要执行的:

code.jade:

- var title = "Things"
h1= title
ul#users
  - each user, name in users
    - if (user.isA == "ferret")
      li(class: 'user-' + name) #{name} is just a ferret
    - else
      li(class: 'user-' + name) #{name} #{user.email}
Run Code Online (Sandbox Code Playgroud)

code.js:

var jade = require('jade');

var options = {
    locals: {
        users: {
            tj: { age: 23, email: 'tj@vision-media.ca', isA: 'human' },
            tobi: { age: 1, email: 'tobi@is-amazing.com', isA: 'ferret' }
        }
    }
};

console.log(jade)

jade.renderFile('code.jade', options, function(err, html){
    if …
Run Code Online (Sandbox Code Playgroud)

html javascript node.js pug

11
推荐指数
1
解决办法
4874
查看次数

有没有办法在JavaScript中测试循环引用?

我正在制作一个游戏,而且我遇到了一个问题...当我尝试保存时,JSON失败并报告正在某处制作循环引用.我不认为它实际上是,我看不到它,所以是否有算法或任何可以告诉我它究竟在哪里(在哪些对象和东西之间)?另外,是否有可以保存循环引用的JSON替代方案?我正在运行一个node.js服务器,我看到了这个,但我无法让它工作(它不是作为一个模块,我可以在我的代码中需要()).

javascript json circular-reference serverside-javascript node.js

11
推荐指数
3
解决办法
6289
查看次数

我什么时候需要在Rust中指定显式生命周期?

如果我有这两个功能

// implicit
fn foo(x: &i32) {
}

// explicit
fn bar<'a>(x: &'a i32) {
}
Run Code Online (Sandbox Code Playgroud)

何时会foo返回错误并bar成为正确的函数头?我很困惑为什么我会明确地声明一生:

'a读'生命'a'.从技术上讲,每个引用都有一些与之相关的生命周期,但编译器允许您在常见情况下忽略它们.

我明白一生是什么,但明确指定一生的'a 事情对我有什么影响?作为参考,我使用Rust书作为阅读材料

rust lifetime-scoping

11
推荐指数
1
解决办法
591
查看次数

为什么Deref :: deref本身的返回类型是引用?

我正在阅读Rust的Deref特性文档:

pub trait Deref {
    type Target: ?Sized;
    fn deref(&self) -> &Self::Target;
}
Run Code Online (Sandbox Code Playgroud)

deref函数的类型签名对我来说似乎是违反直觉的; 为什么返回类型是引用?如果引用实现了这个特性,那么它们可以被解除引用,它会产生什么影响呢?

我能提出的唯一解释是引用不实现Deref,但被认为是"原始可解除引用".但是,如何编写适用于任何可解除引用类型的多态函数,包括两者Deref<T>&T

pointers reference rust

11
推荐指数
2
解决办法
1983
查看次数

为什么Foldable和Functor分开了?

wiki页面说这两类处理集装箱业务,与折叠是一类已经容器foldr在他们定义和函子是fmap.

但是,可折叠类型和Functors类型之间的根本区别是什么?

维基暗示了这种区别:

类[可折叠]类不需要Functor超类,以允许容器如Set或StorableVector

但是我仍然不确定如果我正确地解释了为什么Set无法映射到另一个集合.

haskell

11
推荐指数
4
解决办法
571
查看次数

为什么不(*3)`map`(+100)在伊德里斯工作?

在Haskell中,函数是仿函数,以下代码按预期工作:

(*3) `fmap` (+100) $ 1
Run Code Online (Sandbox Code Playgroud)

当然输出是303.但是,在Idris(使用fmap - > map)中,它会出现以下错误:

找不到实现 Functor (\uv => Integer -> uv)

对我来说,似乎函数在Idris中没有实现为函子,至少不像它们在Haskell中那样,但为什么呢?

此外,类型签名究竟(\uv => Integer -> uv)意味着什么?它看起来像是一些部分应用的函数,这就是函数实现所期望的,但语法有点令人困惑,特别\是应该用于lambda/literal的是在那里做什么.

haskell idris

11
推荐指数
1
解决办法
261
查看次数

什么是用于反向传播的激活函数的衍生物?

我正在阅读这份文件,他们说重量调整公式如下:

新体重=旧体重+学习率*delta*df(e)/ de*输入

df(e)/de部分是激活函数的衍生物,通常是一个像S形函数tanh.现在,这实际上是什么?为什么我们甚至成倍增加呢?为什么learning rate * delta * input不够呢?

这个问题出现在这个问题之后并与之密切相关:为什么必须在反向传播神经网络中使用非线性激活函数?.

math artificial-intelligence machine-learning neural-network

10
推荐指数
1
解决办法
5159
查看次数

如何永久添加Python导入路径?

我知道我可以像这样添加Python的导入路径:

import sys

sys.path.append("/path/to/directory/")
Run Code Online (Sandbox Code Playgroud)

但是,当我重新启动Python时,这已经消失了.如果我不得不一直这样做,我会觉得很烦人,我想一劳永逸地做到这一点并完成它.

又怎样?我在哪里可以找到该文件?或者我是否需要编辑其他内容?我正在使用最新版本的Ubuntu.

python linux import

10
推荐指数
2
解决办法
2万
查看次数

有关Node.js的SQLite3的教程和代码示例说明

我现在对SQLite有点困惑,因为这是我第一次使用数据库.我从这里得到了sqlite3:https://github.com/developmentseed/node-sqlite3.

我在那看着那个例子,有些事情我明白了,有些则我没有.大部分被包裹在这些数据库命令的.run(),.prepare()以及像给我一个困难时期.

这是一个例子:

var usersDB = new sqlite3.Database("databases/users.db");

  usersDB.serialize(function() {
  usersDB.run("CREATE TABLE lorem (info TEXT)");

  var stmt = usersDB.prepare("INSERT INTO lorem VALUES (?)");
  for (var i = 0; i < 10; i++) {
      stmt.run("Ipsum " + i);
  }
  stmt.finalize();

  usersDB.each("SELECT rowid AS id, info FROM lorem", function(err, row) {
      console.log(row.id + ": " + row.info);
  });
});

usersDB.close();
Run Code Online (Sandbox Code Playgroud)

另外,我如何在Node.js上的SQLite数据库中存储简单的东西,例如用户名,密码(我必须自己散列吗?)和电子邮件?

javascript database sqlite node.js

10
推荐指数
2
解决办法
6万
查看次数

为什么必须将Scala中块内的引用值转发为惰性?

声明或定义引入的名称范围是包含绑定的整个语句序列.然而,在块向前引用的限制:在一份声明序列 s[1]...s[n]组成一个块,如果一个简单的名字s[i]指的是一个实体的定义s[j]在那里j >= i,那么对于所有s[k] 之间,包括s[i]s[j],

  • s[k] 不能是变量定义.
  • 如果s[k]是值定义,则必须是lazy.

编辑:我不确定MikaëlMayer的答案是否真的解释了一切.考虑:

object Test {
  def main(args: Array[String]) {
    println(x)
    lazy val x: Int = 6
  }
}
Run Code Online (Sandbox Code Playgroud)

在这里,x必须在代码中实际定义之前读取/评估惰性值!这与Mikaël声称懒惰评估消除了在定义之前评估事物的需要相矛盾.

scala

10
推荐指数
1
解决办法
748
查看次数