我有一个数组:
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.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)
我不明白这是否在语法上是正确的.我该怎么理解呢?
我想在我的mongodb数据库中列出所有具有相应集合的模型?我正在使用mongoidgem for MongoDB.
我会尝试这样的事情
ActiveRecord::Base.send :subclasses
哪个工作正常,但我没有使用ActiveRecord.
我在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)
任何想法为什么它像这样工作或据说我做错了什么?
提前致谢.
我需要连接到 HTTP 服务器并订阅服务器发送事件 (SSE)源。
我发现支持这一点的唯一宝石是em-eventsource(严重损坏)和sse-client-ruby,它似乎是一个裸露的片段,需要未指定的额外管道才能工作。
还有其他我可以使用的 Ruby gem 吗?或者,有人可以提供一个在 Ruby 中使用 SSE 事件的简单的本地示例吗?
我有这个代码
File.open(file_name, 'r') { |file| file.read }
Run Code Online (Sandbox Code Playgroud)
但是Rubocop警告:
罪行:
Style/SymbolProc:
&:read作为参数传递open而不是块.
你怎么做到这一点?
我正在尝试以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中运行良好.
或者,如果您可以向我推荐任何其他资源,请帮我解决这个问题?
我有以下代码将实例变量添加到单个实例:
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.a和obj.a = ...或必须使用instance_variable_get和instance_variable_set获取并设置它?
当我运行以下代码时:
if
puts "A"
elsif
puts "B"
end
Run Code Online (Sandbox Code Playgroud)
我得到输出:
A
B
Run Code Online (Sandbox Code Playgroud)
为什么不警告或提出任何错误?为什么它会执行两个分支?
我是红宝石的新手,日期算术似乎令人困惑。
如何在不使用任何其他模块的情况下从中删除n个月DateTime?