小编Ste*_*fan的帖子

在Ruby中扫描字符串数组以进行匹配

我有一个数组:

a = ["http://design.example.com", "http://www.domcx.com", "http://subr.com"]
Run Code Online (Sandbox Code Playgroud)

如果该数组中的一个元素与字符串匹配,我想返回true:

s = "example.com"
Run Code Online (Sandbox Code Playgroud)

我试过include?any?.

a.include? s
a.any?{|w| s=~ /#{w}/}
Run Code Online (Sandbox Code Playgroud)

我不知道如何在这里使用它.有什么建议?

ruby ruby-on-rails-3.2

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

这个宏是什么?

ruby.h,有很多功能宏定义如下:

static inline int
    #if defined(HAVE_PROTOTYPES)
    rb_type(VALUE obj)
    #else
    rb_type(obj)
       VALUE obj;
    #endif
    {
        if (FIXNUM_P(obj)) return T_FIXNUM;
        if (obj == Qnil) return T_NIL;
        if (obj == Qfalse) return T_FALSE;
        if (obj == Qtrue) return T_TRUE;
        if (obj == Qundef) return T_UNDEF;
        if (SYMBOL_P(obj)) return T_SYMBOL;
        return BUILTIN_TYPE(obj);
    }
Run Code Online (Sandbox Code Playgroud)

如果HAVE_PROTOTYPES==1,根据我的理解,这个功能将是这样的:

static inline int rb_type(VALUE obj)
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

然而,如果HAVE_PROPOTYPES==0,函数定义将是这样的:

static inline int rb_type(VALUE obj)
      VALUE obj;
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我不明白这是否在语法上是正确的.我该怎么理解呢?

c ruby ruby-1.8

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

列出Rails控制台中的所有Mongoid模型

我想在我的mongodb数据库中列出所有具有相应集合的模型?我正在使用mongoidgem for MongoDB.

我会尝试这样的事情

ActiveRecord::Base.send :subclasses 哪个工作正常,但我没有使用ActiveRecord.

ruby ruby-on-rails mongodb rails-console mongoid

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

为什么Ruby每个迭代器在执行中首先出现?

我在Ruby中执行简单任务时遇到了一个奇怪的事情.我只想用每个方法迭代字母表,但迭代在执行中先行:

alfawit = ("a".."z")
puts "That's an alphabet: \n\n #{ alfawit.each { |litera| puts litera } } "
Run Code Online (Sandbox Code Playgroud)

这段代码导致:(缩写)

a
b
c
?
x
y
z
That's an alphabet: 

 a..z 
Run Code Online (Sandbox Code Playgroud)

任何想法为什么它像这样工作或据说我做错了什么?

提前致谢.

ruby iteration each puts

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

如何在 Ruby 中使用 HTTP 服务器发送的事件?

我需要连接到 HTTP 服务器并订阅服务器发送事件 (SSE)源。

我发现支持这一点的唯一宝石是em-eventsource严重损坏)和sse-client-ruby,它似乎是一个裸露的片段,需要未指定的额外管道才能工作。

还有其他我可以使用的 Ruby gem 吗?或者,有人可以提供一个在 Ruby 中使用 SSE 事件的简单的本地示例吗?

ruby http server-sent-events

5
推荐指数
0
解决办法
1076
查看次数

如何传递&:作为参数读取到File.open,如Rubocop所示

我有这个代码

File.open(file_name, 'r') { |file| file.read }
Run Code Online (Sandbox Code Playgroud)

但是Rubocop警告:

罪行:

Style/SymbolProc:&:read作为参数传递open而不是块.

你怎么做到这一点?

ruby rubocop

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

更快的CSS为ruby 1.9.3?

我正在尝试以CSV格式文档导出报告.为此,我使用了更快的CSV,但我面对

Please switch to Ruby 1.9's standard CSV library.
It's FasterCSV plus support for Ruby 1.9's m17n encoding engine.
Run Code Online (Sandbox Code Playgroud)

错误.任何人都可以帮我解决这个错误吗?我的代码如下

csv_string = FasterCSV.generate do |csv|
  csv << ["Client_name", "Created_at", "User type"]
  @client_reports.each do |client_reports|
    csv << [client_reports.email, client_reports.created_at,client_reports.role_name]
  end
end
send_data csv_string,
  :type => 'text/csv; charset=iso-8859-1; header=present',
  :disposition => "attachment; filename=product_stock.csv"
Run Code Online (Sandbox Code Playgroud)

所以请帮我在Ruby 1.9.3中解决这个问题.它在Ruby 1.8.7中运行良好.

或者,如果您可以向我推荐任何其他资源,请帮我解决这个问题?

ruby-on-rails fastercsv export-to-csv

4
推荐指数
1
解决办法
4207
查看次数

将attribute_accessor添加到Ruby中的单个实例

我有以下代码将实例变量添加到单个实例:

class MyClass
  def initialize(x)
    @var = x
  end
end

obj = MyClass.new(4)
obj.instance_variable_set(:@a, 5)
Run Code Online (Sandbox Code Playgroud)

是否可以动态添加attr_accessor属性,以便可以使用obj.aobj.a = ...或必须使用instance_variable_getinstance_variable_set获取并设置它?

ruby

4
推荐指数
1
解决办法
85
查看次数

没有条件的if-elsif在Ruby中没有正确分支

当我运行以下代码时:

if  
  puts "A"  
elsif  
  puts "B"  
end  
Run Code Online (Sandbox Code Playgroud)

我得到输出:

A
B
Run Code Online (Sandbox Code Playgroud)

为什么不警告或提出任何错误?为什么它会执行两个分支?

ruby if-statement

4
推荐指数
1
解决办法
96
查看次数

如何从Ruby中的DateTime中减去n个月?

我是红宝石的新手,日期算术似乎令人困惑。

如何在不使用任何其他模块的情况下从中删除n个月DateTime

ruby datetime

4
推荐指数
1
解决办法
717
查看次数