小编cod*_*aig的帖子

ruby - 在另一个模块内扩展模块

我正在尝试定义几个模块,以便轻松地将一些实例和类方法添加到其他类中,这就是我正在做的事情:

module Foo
  module Bar
    def speak
      puts "hey there"
    end
  end
  module Baz
    extend Foo::Bar

    def welcome
      puts "welcome, this is an instance method"
    end
  end
end

class Talker
  include Foo::Baz
end

Talker.new.welcome
Talker.speak
Run Code Online (Sandbox Code Playgroud)

这个输出是:

welcome, this is an instance method
undefined method 'speak' for Talker.class (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

我期待Talker拥有'speak'方法,因为它包括Foo :: Baz,它本身扩展了Foo :: Bar.

我错过了什么?

ruby

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

ruby - 用参数创建单例?

我已经看到如何将类定义为单例(如何在ruby中创建单例):

require 'singleton'

class Example
  include Singleton
end
Run Code Online (Sandbox Code Playgroud)

但是,如果我想为该单个实例提供一些参数,这意味着,示例应始终具有初始化的某些属性.例如,假设我有一个类,其唯一目的是登录文件(这只是一个示例),但它需要一个文件的名称才能在它可以工作之前登录.

class MyLogger
  def initialize(file_name)
    @file_name = file_name
  end
end
Run Code Online (Sandbox Code Playgroud)

如何使MyLogger成为单例,但确保它获得file_name?

ruby singleton

17
推荐指数
2
解决办法
8945
查看次数

多个选择元素 - onchange

我有一个select元素允许多个选择.当用户对所选内容进行更改时,我想在页面的另一部分(div或其他部分)中显示所选值.

这样做的唯一方法是迭代"选项"并检查"选择"是否为真?这不是优选的,因为每个"onchange"事件都需要迭代整个select元素.

这是一个小提琴,演示了我目前是如何做到这一点,但我希望可能有一个更好的方法,而不是迭代每个"变化"的所有选项:多个选择elment onchange小提琴

html javascript jquery

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

为什么要调用"apply"而不是直接调用函数?

在查看raphael或g.raphael或其他库的源代码时,我注意到开发人员做了类似这样的事情:

var val = Math.max.apply(Math, data_array);
Run Code Online (Sandbox Code Playgroud)

为什么不直接调用函数,例如:

var val = Math.max(data_array);
Run Code Online (Sandbox Code Playgroud)

谢谢.

javascript splat

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

如何在使用JRuby或bundle exec时使用rspec启用颜色?

我正试图用JRuby运行我的rspec:

rake spec 
Run Code Online (Sandbox Code Playgroud)

这导致:

jruby -S bundle exec rspec --color spec/foo_spec.rb
Run Code Online (Sandbox Code Playgroud)

没有颜色出现,所以我从等式中删除了Jruby:

bundle exec rspec --color spec/foo_spec.rb
Run Code Online (Sandbox Code Playgroud)

没有颜色.如何将"--color"选项传递给rspec?我在我的项目的根目录中也有一个.rspec文件,在这些情况下似乎没有帮助.但是,我运行时会拾取或使用.rspec文件:

rspec spec/foo_spec.rb
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

ruby rake jruby rspec2

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

Safari History.db history_visits.visit_time的格式是什么?

当在History.db从Safari浏览器看,有一个名为表中history_visits具有指定的列visit_time,这是一个REAL值.它具有诸如此类的价值470799793.096987.它的格式是什么?我希望以12/08/2015 05:12:05的格式看到它.

sqlite safari browser-history

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

在Rakefile中设置rspec2任务

我有一个看起来像这样的Rakefile:

require 'rspec/core/rake_task'

desc "Run all RSpec tests"
RSpec::Core::RakeTask.new(:spec)
Run Code Online (Sandbox Code Playgroud)

这不行.例如,如果我尝试运行"rake -T",我得到:

code/projects/bellybuster[master]% rake -T --trace
(in /Users/craig/code/projects/bellybuster)
rake aborted!
no such file to load -- rspec/core/rake_task
/Users/craig/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/Users/craig/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/Users/craig/code/projects/bellybuster/Rakefile:1:in `<top (required)>'
/Users/craig/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:2383:in `load'
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

万一这可能对Gemfile有帮助:

source :rubygems

gemspec
Run Code Online (Sandbox Code Playgroud)

哦和一些版本:

  • Ruby:1.9.2p180
  • 耙子:0.8.7
  • Bundler:1.0.13
  • RubyGems:1.7.2

ruby rake rubygems rspec2

8
推荐指数
2
解决办法
8787
查看次数

为什么在附加documentFragment时需要使用cloneNode?

我一直在寻找在Backbone.js应用程序中使用documentFragments,并想知道为什么我看到在将documentFragment附加到父DOM元素时使用"cloneNode"的示例.

这里可以看到一个例子.如果你低头看看DocumentFragment部分,你会看到:

oFrag = document.createDocumentFragment();
for (var i = 0, imax = aElms.length; i < imax; i++) {
 oFrag.appendChild(aElms[i]);
}

o.innerHTML = '';
o.appendChild(oFrag.cloneNode(true));
Run Code Online (Sandbox Code Playgroud)

为什么"oFrag"被克隆而不是仅仅附加它?另一篇博客文章没有使用"cloneNode"(作为比较).

javascript dom documentfragment backbone.js

8
推荐指数
1
解决办法
7382
查看次数

如何将github flavoured markdown转换为HTML?

我知道github发布了用于将markdown转换为HTML的Redcarpet gem,但据我所知,它不支持(或识别)Github风味的markdown如

javascript var x = 1;

任何人都知道,如果有一个宝石(或某种方式与隆重的接待)来处理GitHub风格的语法,特别是我很感兴趣的是语法高亮显示.

谢谢.

markdown github redcarpet

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

Hadoop 2.x - 如何配置辅助名称节点?

我有一个旧的Hadoop安装,我正在寻求更新到Hadoop 2.在旧的设置中,我有一个$ HADOOP_HOME/conf/masters文件,它指定了二级namenode.

浏览Hadoop 2文档,我找不到任何"master"文件,或者如何设置辅助名称节点.

任何正确方向的帮助将不胜感激.

hadoop hdfs

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