小编All*_*ate的帖子

清除R工作空间中的所有用户定义对象

我正在通过Ruby绑定与Rserve合作.建立与Rserve的连接非常简单,我认为最好在全局范围内保持连接,以避免将其拆除并根据需要重新构建它的开销(我不是在多线程环境中运行) .

由于定义的对象会粘在一起,并且可能会在以后的操作中进行分类,因此我想清除它们.我见过:

myvar = 1
rm(myvar)
Run Code Online (Sandbox Code Playgroud)

但是,我宁愿重新初始化所有内容,以避免必须手动跟踪定义的内容.这可能吗?如果是这样,是否会产生很大的开销?

workspace r rserve

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

测试gem内的ActiveRecord模型?

我正在尝试从Rails 3.2.3应用程序中提取一组模型到gem中,以便它们可以用作应用程序之间的共享接口.

我将模型移动到模块中并将其放在lib/invite_interface/invite.rb中

module InviteInterface
  class Invite < ActiveRecord::Base
    belongs_to :user
  end

  def to_json; end;
  def from_json; end;
end
Run Code Online (Sandbox Code Playgroud)

我把rspec放到gemfile中,让它成功运行,创建了以下规范:

require 'spec_helper'

describe InviteInterface::EncounterSurvey do
  it 'should belong to user' do
    subject.should respond_to(:user)
  end

end
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法在模型上执行rspec,因为活动记录/ rspec需要活动连接.

1) InviteInterface::Invite should belong to encounter survey set
   Failure/Error: subject.should respond_to(:user)
   ActiveRecord::ConnectionNotEstablished:
     ActiveRecord::ConnectionNotEstablished
   # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in `retrieve_connection'
   # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:168:in `retrieve_connection'
   # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:142:in `connection'
   # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/model_schema.rb:228:in `columns'
   # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/model_schema.rb:243:in `column_defaults'
Run Code Online (Sandbox Code Playgroud)

如何防止ActiveRecord查找数据库连接?

gem activerecord rspec ruby-on-rails

14
推荐指数
2
解决办法
2729
查看次数

~~ vs parseInt?

可能重复:
JavaScript中的"双波浪"(~~)运算符是什么?

D3教程提供了一个产生随机序列的函数:

var t = 1297110663, // start time (seconds since epoch)
    v = 70, // start value (subscribers)
    data = d3.range(33).map(next); // starting dataset

function next() {
  return {
    time: ++t,
    value: v = ~~Math.max(10, Math.min(90, v + 10 * (Math.random() - .5)))
  };
}
Run Code Online (Sandbox Code Playgroud)

注意~~(tilda tilda):

    value: v = ~~Math.max(10, Math.min(90, v + 10 * (Math.random() - .5)))
Run Code Online (Sandbox Code Playgroud)

从在javascript终端中玩游戏,我看到:

~~1
1
~~-1
-1
~~-1.3
-1
parseInt(5)
5
parseInt(-5)
-5
parseInt(-5.3)
-5
parseInt(5.3)
5
Run Code Online (Sandbox Code Playgroud)

既然~~和parseInt似乎是等价的,那么使用parseInt的理由是什么?

javascript

14
推荐指数
2
解决办法
5846
查看次数

如何指定R CMD exec目录?

以前我可以通过命令行启动Rserve:

R CMD Rserve
Run Code Online (Sandbox Code Playgroud)

在Ubuntu上升级到3.0.2后,我得到:

/usr/lib/R/bin/Rcmd: 62: exec: Rserve: not found
Run Code Online (Sandbox Code Playgroud)

我尝试过手动重新安装和启动

R
> install.packages('rserve')
> ...compiles successfully...
> RServe()
Starting Rserve:
 /usr/lib/R/bin/R CMD /home/user1/R/x86_64-pc-linux-gnu-library/3.0/Rserve/libs//Rserve
Run Code Online (Sandbox Code Playgroud)

......工作正常.

R CMD Rserve仍然出现与上述相同的错误.我试过通过以下方式指定路径:

export RHOME="/home/jwiley/R/x86_64-pc-linux-gnu-library/3.0/Rserve/libs/"
export R_LIBS="/home/jwiley/R/x86_64-pc-linux-gnu-library/3.0/Rserve/libs/"
Run Code Online (Sandbox Code Playgroud)

如何说服R CMD使用正确的目录?

r rserve

14
推荐指数
1
解决办法
3018
查看次数

默认情况下,将rails服务器绑定到127.0.0.1

我想将rails服务器绑定到127.0.0.1而不是0.0.0.0,因此当我在咖啡店工作时无法访问它.

是否有配置文件,我可以指定此选项,所以我不必通过命令行开关:

rails server -b 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-4.1

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

非ECMAscript函数代码

我正在阅读ECMA Script 2015规范.

functions我看到:

除了它的属性之外,函数还包含可执行代码和状态,用于确定调用时的行为方式.函数的代码可能会也可能不会写入ECMAScript (强调添加).

在什么情况下函数的代码不能用ECMA脚本编写?

javascript ecmascript-6

13
推荐指数
2
解决办法
218
查看次数

如何确定Ruby模块是否已扩展实例?

给定一个对象和一个模块,如何检查该对象是否已被模块扩展?

似乎没有任何相应的延伸?方法

moirb(main):001:0> module Foobar
irb(main):002:1> end
=> nil
irb(main):003:0> o=Object.new
=> #<Object:0x000001010d1400>
irb(main):004:0> o.class.include? Foobar
=> false
irb(main):005:0> o.extend Foobar
=> #<Object:0x000001010d1400>
irb(main):006:0> o.class.include? Foobar
=> false
irb(main):007:0> o.class.included_modules
=> [PP::ObjectMixin, Kernel]
irb(main):016:0* o.methods.grep /extend/
=> [:extend]
irb(main):019:0> o.class.methods.grep /extend/
=> [:extend]
Run Code Online (Sandbox Code Playgroud)

ruby module extend

12
推荐指数
2
解决办法
2710
查看次数

在Nightwatch JS中使用pages对象

我正在使用夜视仪"0.8.6".根据页面上的文档,我创建了一个pages/login.js文件并将目录添加到配置文件中:

module.exports = {
  url: function() {
    return this.launchUrl;
  }
};
Run Code Online (Sandbox Code Playgroud)

文档提到this.api,但那不是客户端/浏览器的属性. this.launchUrl然而,显然是可用的.

我更改了现有测试以使用它:

module.exports = {
  'Login page has a login button' : function (browser) {
    browser
      .url(browser.page.login().url())
      .waitForElementVisible('body', 10000)
      .assert.containsText('button', 'SIGN IN')
      .end();
  }
}
Run Code Online (Sandbox Code Playgroud)

测试现在失败了..url尝试打开selenium data:,,而不是this.launchUrl的值,即localhost:3000.

页面对象显然是在登录测试的上下文中进行评估的,因此页面对象中的这个应该有this.launchUrl.潜入源代码我看到混合中还有页面包装器对象,不知何故.

如何在0.8.6中正确创建和使用页面对象?

javascript nightwatch.js

12
推荐指数
1
解决办法
5574
查看次数

在Postgres中防止'json类型的'无效输入语法'

我有一个包含JSON和计划文本的文本列.我想将其转换为JSON,然后选择一个特定的属性.例如:

user_data
_________
{"user": {"name": "jim"}}
{"user": {"name": "sally"}}
some random data string
Run Code Online (Sandbox Code Playgroud)

我试过了:

select user_data::json#>'{user,name}' from users
Run Code Online (Sandbox Code Playgroud)

我明白了:

ERROR:  invalid input syntax for type json
DETAIL:  Token "some" is invalid.
CONTEXT:  JSON user_data, line 1: some...
Run Code Online (Sandbox Code Playgroud)

有可能阻止这种情况吗?

postgresql json plpgsql

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

将外部JavaScript库转换为Node.js模块

我跑过sim.js,一个用于离散事件模拟的库,我认为在学习node.js时使用会很有趣.它是一个单独的javascript文件,不依赖于其他库或浏览器.

将此包含在我的代码库中的最佳做法是什么?将.js保存到磁盘,并将其转换为标准节点模块?

即:

// ---sim.js
var Sim = function () {
  this.simTime = 0;
  this.entities = [];
}

Sim.Event = function (name) {
  this.name = name;
};
// ... functions continue
module.exports = Sim;

// --- main.js
var Sim = require('./sim');

var sim = new Sim();
var trafficLights = [new Sim.Event("North-South Light"),
                     new Sim.Event("East-West Light")]; 
Run Code Online (Sandbox Code Playgroud)

或者有一种更简单的方法,不需要修改/模块化原始的js?

javascript node.js

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