标签: ruby

何时在Ruby中使用`require`,`load`或`autoload`?

我理解之间的细微差异require,load以及autoload在Ruby中,但我的问题是,你怎么知道该用哪一个呢?

除了能够load在匿名模块中"包装"a之外,require似乎更受欢迎.

但是然后autoload允许你懒惰加载文件 - 听起来很棒但我不确定你获得了什么require

一种方法比另一种方法更受欢迎吗?是否存在一种方法脱颖而出的情况?

ruby module

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

纯Ruby并发哈希

实现可以跨多个线程修改但具有最少数量的锁的Hash的最佳方法是什么.出于这个问题的目的,你可以假设哈希将是重读的.它必须在所有Ruby实现中都是线程安全的,包括以真正同步方式运行的实现,例如JRuby,并且它必须用纯Ruby编写(不允许使用C或Java).

随意提交始终锁定的天真解决方案,但这不太可能是最佳解决方案.优雅的要点,但较小的锁定可能性胜过较小的代码.

ruby concurrency hash locking

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

如何检查Ruby中是否已存在类

如何检查Ruby中是否已存在类?

我的代码是:

puts "enter the name of the Class to see if it exists"   
nameofclass=gets.chomp  
eval (" #{nameofclass}......  Not sure what to write here")
Run Code Online (Sandbox Code Playgroud)

我在考虑使用:

eval "#{nameofclass}ancestors.     ....."
Run Code Online (Sandbox Code Playgroud)

ruby class

61
推荐指数
8
解决办法
4万
查看次数

如何摆脱红宝石中的非ascii字符

我有一个Ruby CGI(不是rails),可以从Web表单中选择照片和标题.我的用户非常热衷于使用智能引号和连字,他们正在从其他来源粘贴.我的网络应用程序不能很好地处理这些非ASCII字符,是否有一个快速的Ruby字符串操作例程可以摆脱非ASCII字符?

ruby unicode ascii cgi

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

Array.join("\n")不是用换行符连接的方式吗?

我有一个阵列..

[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

我想要一个包含由换行符分隔的所有元素的字符串.

1

2

3

4
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时,[1,2,3,4].join("\n")我得到了

1\n2\n3\n4
Run Code Online (Sandbox Code Playgroud)

我觉得有一个明显的答案,但我找不到它!

ruby ruby-on-rails

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

Ruby:如何在不指向同一对象的情况下复制变量?

在Ruby中,如何复制变量以使原始更改不影响副本?

例如:

phrase1 = "Hello Jim"
phrase2 = phrase1
phrase1.gsub!("Hello","Hi")
p phrase2 #outputs "Hi Jim" - I want it to remain "Hello Jim"
Run Code Online (Sandbox Code Playgroud)

在这个例子中,两个变量指向同一个对象; 我想为第二个变量创建一个新对象,但最初它包含相同的信息.

ruby

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

什么<<在Ruby中意味着什么?

我有代码:

  def make_all_thumbs(source)
    sizes = ['1000','1100','1200','800','600']
    threads = []
    sizes.each do |s|
      threads << Thread.new(s) {
        create_thumbnail(source+'.png', source+'-'+s+'.png', s)
      }
    end
  end
Run Code Online (Sandbox Code Playgroud)

什么<<意思?

ruby arrays operators

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

是否可以在模块中定义'before_save'回调?

是否可以before_save在模块中定义回调?这样的类是这样的:

class Model
  include MongoMapper::Document
  include MyModule
end
Run Code Online (Sandbox Code Playgroud)

和这样的模块:

module MyModule
  before_save :do_something

  def do_something
    #do whatever
  end  
end 
Run Code Online (Sandbox Code Playgroud)

do_something将在Model保存任何对象之前调用?我试过这样但是得到了undefined method 'before_save' for MyModule:Module.

抱歉,如果这很简单 - 我是Ruby和Rails的新手.

ruby ruby-on-rails

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

如何检查变量是数字还是字符串?

如何在Ruby中检查变量是数字还是字符串?

ruby

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

Rails 3.如何添加ActiveAdmin将使用的帮助程序?

我正在创建一个由Formtastic使用的帮助器,但是我得到了undefined local variable or method错误.我不知道在哪里放它所以它可以工作.

我已经尝试过application_helper.rb和app/helpers/active_admin/view_helpers.rb

ruby ruby-on-rails helpers activeadmin

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