Tag: ruby

为什么当字符串包含数字时,Ruby的String#to_i有时会返回0?

我只是尝试使用Ruby,我遇到了String#to_i 。 假设我有这个代码: var1 = ‘6 sldasdhkjas’ var2 = ‘aljdfldjlfjldsfjl 6’ 当puts var2.to_i给出0时,为什么puts var1.to_i输出6 ?

将一个erb文件包含在另一个中

我正在编写一个命令行工具,最终将输出一个HTML报告。 该工具是用Ruby编写的。 (我不使用Rails)。 我试图将应用程序的逻辑保存在一组文件中,并将HTML模板(.erb文件)保存在另一组文件中。 我有一个非常恼人的问题:我无法成功将一个.erb文件包含到另一个.erb文件中。 具体来说,我正在尝试做这样的事情(在伪代码中): [include a stylesheet here] [and another one here] The rest of my document follows… 该示例代码段本身就是一个erb文件,它是从应用程序逻辑中调用的。 我正在这样做,所以我可以将样式表保留在主模板之外,以便更轻松/更清洁地维护应用程序。 但是,最终产品(报告)需要是一个没有依赖关系的单个独立HTML文件,因此,我希望在生成报告时将这些样式表内联到文档头中。 这看起来应该很容易,但是我在最后一小时一直撞到墙上(以及谷歌搜索和RTMF),我根本没有任何运气。 应该怎么做? 谢谢。

生成集合的powerset而不在Erlang或Ruby中保留堆栈

我想生成一个相当大的集合(约30-50个元素)的powerset,我知道它需要2^n来存储powerset。 是否有可能一次生成一个子集? 即生成具有迭代的集合的powerset,将每个生成的子集保存到磁盘/数据库,将其从堆栈/内存中删除,然后继续生成其他子集? 不幸的是,我没有根据我的需要修改Erlang和Ruby示例。

Ruby中的累积数组和

什么是最简单,最类似于Ruby的计​​算数组累积和的方法? 例: [1,2,3,4].cumulative_sum 应该回来 [1,3,6,10]

针对iPhone Native应用程序的测试驱动设计

我正在试验iPhone SDK并做一些TDD ala Dr. Nic的rbiPhoneTest项目。 我想知道有多少(如果有的话)成功使用这个或任何其他测试框架的iPhone / Cocoa? 更重要的是,我想知道如何最好地断言专有的二进制请求/响应协议。 想法是通过网络发送二进制请求并接收二进制响应。 使用byte和’ing和oring创建请求和响应。 我正在使用黄金副本模式来测试我的请求。 这是我到目前为止所拥有的。 不要笑,因为我是btoh Objective C和Ruby的新手: require File.dirname(__FILE__) + ‘/test_helper’ require ‘fileutils’ require ‘io’ require “MyModel.bundle” OSX::ns_import :MyModel module MyTestExtensions def is_absolute_path(path) return /^\/.*/.match(path) end def parent_directory(file) dir = file if(! is_absolute_path(dir)) dir = File.expand_path(dir) end dir = File.dirname(dir) assert is_absolute_path(dir), “Expecting an absolute path […]

什么IDE用于在Windows上的Ruby on Rails中进行开发?

可能重复: 您更喜欢Ruby IDE? 差不多2年前,我一直在大学以外的地方做过微软.NET的工作。 我刚开始研究Ruby on Rails。 那么我应该使用什么编辑器? 我现在正在使用Notepad ++,但我可以以某种方式获得调试等吗?

什么是触发器操作符?

我最近听说过有关Perl和Ruby中带有正则表达式的触发器,但是我无法找到它们是如何工作的以及常见的用例。 任何人都可以用语言无关的方式解释这个吗? 现在我明白了它是什么,以及它是如何工作的,我想简单地说一下这个问题:什么是触发器操作符?

如何在“case when”中捕获Errno :: ECONNRESET类?

我的应用程序(Ruby 1.9.2)可能引发不同的exception,包括网络连接中断。 我rescue Exception => e ,然后做case/when以不同的方式处理它们,但是几个错误直接通过我的案例。 rescue Exception => e p e.class case e.class when Errno::ECONNRESET p 1 when Errno::ECONNRESET,Errno::ECONNABORTED,Errno::ETIMEDOUT p 2 else p 3 end end 打印: Errno::ECONNRESET 3

Rails 3个额外的会话配置选项(key,expires_after,secure)

有人可以指出新的Rails 3.x会话配置选项是什么? 我正在尝试复制我在Rails 2.3.x应用程序中的相同配置。 这是我在应用程序中使用的配置: #environment.rb config.action_controller.session_store = :active_record_store config.action_controller.session = { :key => ‘_something’, #non-secure for development :secret => ‘really long random string’ } # production.rb – override environment.rb for production config.action_controller.session = { :key => ‘_something_secure’, :secret => ‘really long random string’, :expire_after => 60*60,#time in seconds :secure => true #The session will […]

不能将ruby-debug19与1.9.3-p0一起使用?

可能重复: Rails 3.1和Ruby 1.9.3p125:ruby-debug19仍然崩溃,“找不到符号:_ruby_threadptr_data_type” 我运行这个: gem install ruby-debug19 在我的黄瓜env.rb文件中,我有这个: require ‘ruby-debug’ 但是,当我尝试运行时,我得到了这个例外: /home/skendall/.rvm/gems/ruby-1.9.3-p0/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.so: undefined symbol: ruby_current_thread – /home/skendall/.rvm/gems/ruby-1.9.3-p0/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.so (LoadError) 我需要做些什么才能让ruby-debug与1.9.3-p0一起使用?