Questions tagged «ruby»

Ruby是由松本行弘(Matz)于1995年创建的一种多平台开放源代码,动态的,面向对象的解释性语言。[ruby]标记用于与Ruby语言有关的问题,包括其语法和库。Ruby on Rails问题应标记为[ruby-on-rails]。



5
Ruby:如何为数组和哈希创建IRB打印结构
当我在irb中创建一个新的数组/哈希时,它会打印出一种不错的格式来显示结构,例如。 ["value1", "value2", "value3"] {"key1" => "value1"} ...但是当我尝试使用来打印变量时puts,我将它们折叠了: value1 value2 value3 key1 value1 我收集到puts的不是我想要的正确命令,而是什么?我希望能够以第一种格式而不是第二种格式查看irb中的变量。
69 ruby  irb 

7
耙任务在哪里定义?
在新创建的Rails项目(由生成rails someName)上,可以运行一些“默认”耙任务,例如: rake test rake db:migrate 等等 问题是,这些任务在哪里得到描述?默认值Rakefile不具有所有这些任务。 此外,我签出了一些使用的项目,rspec并且能够rake spec运行所有测试。spec目标在哪里定义?

12
为什么这个RMagick调用会产生分段错误?
一个多小时的时间里,我一直在脑海中trying撞,试图弄清楚这里出了什么问题,而且我敢肯定(或者更希望是)我忽略了很明显的事情。我正在使用Ruby 1.9.1,Sinatra 1.0和RMagick 2.13.1。ImageMagick和RMagick已正确安装并正常运行-我已经成功地操作并保存了irb中的图像。 params数组的相关部分(为便于阅读而更改格式): {"admin_user_new_image_file"=> { :filename=>"freddie-on-shetland-pony.png", :type=>"image/png", :name=>"admin_user_new_image_file", :tempfile=>#<File:/var/folders/a7/a7pO5jMcGLCww9XBGRvWfE+++TI/-Tmp-/RackMultipart20100514-20700-o2tkqu-0>, :head=>"Content-Disposition: form-data; name=\"admin_user_new_image_file\"; filename=\"freddie-on-shetland-pony.png\"\r\nContent-Type: image/png\r\n" } } 相关代码: post "/admin/user/:account_name/image/new/" do if params[:admin_user_new_image_file][:tempfile] thumbnail = Magick::Image.read("png:"+params[:admin_user_new_image_file][:tempfile].path).first end end 错误(第229行是以“ thumbnail =”开头的行: config.ru:229: [BUG] Segmentation fault ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-darwin10.3.0] -- control frame ---------- c:0042 p:---- s:0196 b:0196 …

7
时差(小时)
我试图得到两个不同的时间实例的小时数差异。我从数据库获取这些值作为:datetime列 如何做到这一点,以便在忽略或舍入分钟的同时,在计算中也包括月份和年份?只能手动完成此操作,还是可以执行此功能?
69 ruby  time 

4
Ruby:如何制作公共静态方法?
在Java中,我可以这样做: public static void doSomething(); 然后,我无需创建实例即可静态访问该方法: className.doSomething(); 如何在Ruby中做到这一点?这是我的课程,据我了解self.,该方法是静态的: class Ask def self.make_permalink(phrase) phrase.strip.downcase.gsub! /\ +/, '-' end end 但是当我尝试致电: Ask.make_permalink("make a slug out of this line") 我得到: undefined method `make_permalink' for Ask:Class 如果我还没有声明该方法为私有方法,那为什么会这样呢?

1
将浮点四舍五入到红宝石中最接近的整数
如果我有一个49.967的浮点数,然后执行.to_i,它将把它切成49,这对我的磁盘空间分析来说是.967超过900mb的空间,这些空间将不会在显示中显示。 是否有将数字四舍五入到最接近的整数的函数,或者我必须像这样自定义它: class Float def to_nearest_i (self+0.5).to_i end end 这样我就可以做到: >> 5.44.to_nearest_i => 5 >> 5.54.to_nearest_i => 6
69 ruby 


2
我怎么知道何时在Rails中“刷新”我的模型对象?
这是我正在进行的集成测试的一部分: user = User.first assert !user.is_active? get confirm_email_user_url(user),:confirmId => user.mail_confirmation_hash assert_equal response.status,200 # because confirm_email_user_url modifies the activation state of the object user = User.first assert_equal user.state,"activated" 我花了最后一个小时调试此:)。在我的初始版本中,user访问confirm_email_user_url之后,我没有重新初始化,inactive即使激活了用户,状态也始终为。 我如何知道是否应该“重新加载”(缺少更好的名称)我的模型对象?我应该怎么称呼呢?

4
如何在IRB中重新加载脚本?
我正在编写在Rails环境中使用的Ruby脚本,但我选择从irb运行它,因为重新加载Rails控制台可能很麻烦。现在,从irb开始的等待时间要短得多,但是我不得不重新启动irb并在每次更改时都需要脚本,这让我感到困扰。有没有更简单的方法可以从irb重新加载脚本? 我在此线程中找到了一个方法,但这显然仅适用于gem文件。我的require语句看起来像这样 require "#{File.expand_path(__FILE__)}/../lib/query" 编辑:尝试过load而不是require,我仍然无法使它正常工作。我无法停止这些错误。 ruby-1.9.2-p0 > load "#{File.expand_path(__FILE__)}/../lib/query.rb" LoadError: no such file to load -- /Users/newuser/Dropbox/Sites/rails/hacknyc/(irb)/../lib/query.rb
68 ruby  irb 

3
恼人的“警告:已初始化常量”消息的解决方案
今天,我偶然发现了一个有关Ruby常量的棘手问题。在我们的团队中,有人创建了一个模块,该模块包含在多个模型中。在我们的(规格)测试输出中,此结果会生成警告消息,例如: /home/ayrton/project/lib/life_cycle.rb:5:警告:已初始化常量RESET 解决此问题的一种方法是,像这样声明常量: module LifeCycle unless (const_defined?(:RESET)) RESET = 'reset' end #... end 我还阅读了由Avdi Grimm撰写的博客文章,该文章提供了一种替代解决方案,我想知道您对此事有何看法。
68 ruby  constants 


5
Rails验证需要数字,即使状态未设置为true
我正在尝试保存没有一个字段集的记录-该记录在模型中具有有效的数值。尽管验证中不需要存在,但仍会引发错误,表明该字段不是数字。 验证: validates :network_id, :numericality => true 保存模型的代码: networks.each do |network| network.url = network.raw_data.link network.save! end 错误: Validation failed: Network is not a number

10
库未加载:/opt/local/lib/libssl.1.0.0.dylib(LoadError)
我只是发现我无法再做gem push …了,而一些挖掘使我不得不更新我的RVM SSL证书。 我跑了,rvm osx-ssl-certs status all但是那给了我: /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': dlopen(/Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle, 9): Library not loaded: /opt/local/lib/libssl.1.0.0.dylib (LoadError) Referenced from: /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle Reason: image not found - /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/openssl.rb:17:in `<top (required)>' from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' Certificates for /usr/local/etc/openssl/cert.pem: Up to date. Certificates for : Old. Certificates …
68 ruby  ssl  rvm 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.