小编Mar*_*ira的帖子

为什么Crystal比Ruby更快?

我非常想知道究竟是什么让Crystal比Ruby更快,而代码非常相似.简短的回答可能是它被编译,Ruby被解释,但我想更多地了解语言规范.

ruby performance runtime crystal-lang

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

是否有可能为Ruby创建Crystal绑定?

我正在为水晶创建一个m3u8生成器/解析器,但我想稍后使用ruby.这可能/容易吗?  

ruby crystal-lang

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

如何防止最后一个参数需要用 clap 引用?

我正在使用 clap,在尝试解析参数时出现意外行为。

我的命令行工具应该像这样工作

foo -u <user> <command>
Run Code Online (Sandbox Code Playgroud)

例如:

foo -u jack echo s
foo -u paul ls -al
Run Code Online (Sandbox Code Playgroud)

我需要获取诸如用户之类的选项,但其<command>本身,我需要是其余的参数。

<command>下面的代码会导致一种行为,除非引用它,否则我无法获取值:

foo -u jack echo s
Run Code Online (Sandbox Code Playgroud)
error: Found argument 's' which wasn't expected, or isn't valid in this context
Run Code Online (Sandbox Code Playgroud)

而这工作正常:

foo -u jack 'echo s'
Run Code Online (Sandbox Code Playgroud)

有什么办法可以避免引号吗?

let matches = App::new("foo")
    .version("0.1")
    .arg(
        Arg::with_name("user")
            .short("u")
            .long("user")
            .required(true)
            .takes_value(true),
    )
    .arg(
        Arg::with_name("command")
            .help("The command to run")
            .required(true)
            .takes_value(true),
    )
    .get_matches();
Run Code Online (Sandbox Code Playgroud)

我还在clap 存储库上提出了一个问题

rust clap

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

如何在 Waterline/Sails.js 模型中创建“计算”字段?

这是我的 Users.model:

module.exports = {

    attributes: {

        name: {
            type: 'string',
            required: true,
            minLength: 3,
            maxLength: 30
        },

        username: {
            type: 'string',
            required: true,
        },

        toJSON: function() {
          var obj = this.toObject();
          obj.link = sails.config.globals.baseUrl + sails.config.routes.user + obj.id;
          return obj;
        }
    }
  };
Run Code Online (Sandbox Code Playgroud)

我想要的是使用一些在模型中“预”计算的属性。我的解决方案是在 toJSON() 函数中注入 attr,但在视图中我必须使用:

<%= users.toJSON().link %> 
Run Code Online (Sandbox Code Playgroud)

有没有办法为用户创建一个属性或一些方法?喜欢:

module.exports = {

       attributes: {

        name: {
            type: 'string',
            required: true,
            minLength: 3,
            maxLength: 30
        },
        myPersonalAttribute: function(){
           return "Value"   
        }
}
Run Code Online (Sandbox Code Playgroud)

javascript sails.js waterline sails-mongo

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