使用do block vs braces {}

新的ruby,戴上你的新手套。 以下两个片段之间是否有任何区别(模糊或实用)? my_array = [:uno, :dos, :tres] my_array.each { |item| puts item } my_array = [:uno, :dos, :tres] my_array.each do |item| puts item end 我意识到括号语法允许你将块放在一行上 my_array.each { |item| puts item } 但除此之外是否有任何令人信服的理由使用一种语法而不是另一种语法?

Ruby中的Fibonacci序列(递归)

我正在尝试实现以下函数,但它一直给我的stack level too deep (SystemStackError)错误。 任何想法可能是什么问题? def fibonacci( n ) [ n ] if ( 0..1 ).include? n ( fibonacci( n – 1 ) + fibonacci( n – 2 ) ) if n > 1 end puts fibonacci( 5 )

打印一个XML文档,顶部没有XML标题行

我只是想找到如何使用Nokogiri::XML::Document或Nokogiri::XML::DocumentFragment创建Nokogiri::XML::DocumentFragment 。 或者,我想在Nokogiri::XML::DocumentFragment上使用xPath。 我无法确定如何做到这一点,但我成功解析了Nokogiri::XML::Document 。 我后来将解析和修改过的DocumentFragment在另一段XML中,但我真的被我认为是一些非常简单的事情所困扰。 就像尝试在doc或to_xml上执行to_xml一样,而不是在顶部包含那个xml行。 为什么这么难?

Ruby on Rails有“phpmyadmin”吗?

像phpmyadmin,但Ruby on Rails? 我需要一个应用程序来轻松管理我的mysql数据库..这是给我自己的。 Mysql数据库的GUI

带头的Ruby https POST

如何在带有json的Ruby中使用标题创建一个Httpspost? 我试过了: uri = URI.parse(“https://…”) https = Net::HTTP.new(uri.host,uri.port) req = Net::HTTP::Post.new(uri.path) req[‘foo’] = bar res = https.request(req) puts res.body

没有表的Rails模型

我想为颜色创建一个选择列表,但不想为颜色创建一个表。 我在任何地方都看过它,但在谷歌上找不到它。 我的问题是:如何在没有数据库表的情况下将颜色放在模型中? 或者有更好的轨道方式来做到这一点? 我见过有人直接在模型中放入数组或哈希,但现在我找不到了。

Ruby gem用于查找位置的时区

我有一个位置(城市,州),日期和时间,我想将其转换为utc,但需要先找到该位置的时区。 我做了一些研究,一切似乎都指向地球工具或地理名称,但两个网络服务似乎只是纬度和经度。 是否有服务或gem或任何其他方式根据这种位置格式找到时区? 或者如何将位置转换为纬度和经度?

在Heroku中将UTF-8设置为默认字符串编码

我需要在Heroku中将默认的ruby字符串编码更改为UTF-8。 由于某种原因,它是US-ASCII。 $ heroku控制台 myapp.heroku.com的Ruby控制台 >>“a”。编码 =># 但是,如果我在本地运行irb,我会得到不同的结果: $ irb ruby-1.9.2-p136:001>“a”。编码 =># 两者都运行在ruby 1.9.2上。 我也试过设置它,但是没有用: Encoding.default_internal = Encoding.default_external =“UTF-8” 想法? 谢谢,菲利普

Windows上的ruby 1.9 ri对任何类都一无所知

我正在使用Windows XP SP2,并通过Ruby 1.9一键安装程序安装Ruby。 然后,当我尝试使用ri时,我得到以下响应,任何人都可以帮我解决我的问题吗? C:\Documents and Settings\eyang>ruby –version ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32] C:\Documents and Settings\eyang>ri –version ri 2.2.2 C:\Documents and Settings\eyang>ri String Updating class cache with 0 classes… Nothing known about String C:\Documents and Settings\eyang>ri Updating class cache with 0 classes… No ri data found If you’ve installed Ruby yourself, you need […]

是否有可能让class.property = x返回x以外的东西?

假设我有一个Ruby类: class MyClass def self.property return “someVal” end def self.property=(newVal) # do something to set “property” success = true return success # success is a boolean end end 如果我尝试执行MyClass.property=x ,则整个语句的返回值始终为x。 许多基于C语言/灵感的语言中的约定是返回布尔“成功”值 – 是否可以使用Ruby中的“equals语法”为setter执行此操作? 此外 – 如果不可能,为什么不呢? 允许“等于设定者”操作返回值是否有任何可以想象的缺点?