Questions tagged «ruby»

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

6
如果字符串为空,则返回一些默认值
通常,我需要检查某个值是否为空,并这样写“无数据存在”: @user.address.blank? ? "We don't know user's address" : @user.address 当我们有大约20-30个字段需要以这种方式处理时,它变得很丑陋。 我所做的是带有or方法的扩展String类 class String def or(what) self.strip.blank? ? what : self end end @user.address.or("We don't know user's address") 现在看起来好多了。但这仍然是粗糙的 如何更好地解决我的问题。也许最好扩展ActiveSupport class或使用辅助方法或mixins或其他任何方法。红宝石的思想,您的经验和最佳实践可以告诉我。


3
如何知道红宝石不是线程安全的?
从Rails 4开始,默认情况下所有内容都必须在线程环境中运行。这意味着所有我们写的代码和 所有我们使用需要是宝石threadsafe 因此,我对此没有几个问题: 在ruby / rails中,什么不是线程安全的?VS什么是Ruby / Rails中的线程安全? 是否有宝石的列表被称为是线程安全的,反之亦然? 是否有不是线程安全示例的常见代码模式列表@result ||= some_method? ruby lang核心中的数据结构(例如Hashetc线程)是否安全? 在MRI上,一个GVL/GIL表示一次只能运行1条红宝石线程,除了IO,线程安全更改对我们有影响吗?

5
Mongodb:使用前要知道什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 我正在使用Ruby on Rails开始一个业余(非收入)项目。我已经使用Postgresql在Rails中进行了大量开发,并且可以很好地模仿标准化模式。但是,Mongrodb看起来很新。有什么比业余项目更能尝试新事物的呢? 回想一下您何时开始使用Mongodb。后来您学习了什么技术,使您说:“如果我刚开始就知道这一点!” 您发现从一开始就使用了哪些插件(如果仅知道的话)?您想为哪些参考添加书签?

17
Ruby中的列表理解
为了进行等效于Python列表推导的操作,我正在执行以下操作: some_array.select{|x| x % 2 == 0 }.collect{|x| x * 3} 是否有更好的方法来执行此操作……也许只用一个方法调用?


7
在Windows中安装Ruby Gem
我是红宝石的新手。我尝试按照http://rubygems.org/pages/download网站上给出的步骤在PC上安装GEM 。 我从提及的站点下载了软件包,并将目录更改为安装程序所在的目录,并尝试使用以下命令运行安装程序, 在命令提示符下运行setup.rb。 但是我弹出一个窗口,提示“ Windows无法打开该文件”,并提示我选择一个程序来打开该文件。 我现在应该怎么办?让我知道,如果我做错了..
93 ruby  gem  install 

6
Rails如何运行Rake任务
如何在终端/控制台中运行此rake文件? 我在lib / tasks中的statistik.rake desc "Importer statistikker" namespace :reklamer do task :iqmedier => :environment do ... end task :euroads => :environment do ... end task :mikkelsen => :environment do ... end task :orville => :environment do ... end end


7
Array#each与Array#map
hash = { "d" => [11, 22], "f" => [33, 44, 55] } # case 1 hash.map {|k,vs| vs.map {|v| "#{k}:#{v}"}}.join(",") => "d:11,d:22,f:33,f:44,f:55" # case 2 hash.map {|k,vs| vs.each {|v| "#{k}:#{v}"}}.join(",") => "11,22,33,44,55" 唯一的区别是案例1使用vs.map,案例2使用vs.each。 这里发生了什么?

5
Ruby是否执行尾部调用优化?
函数式语言导致使用递归来解决许多问题,因此许多函数式语言执行尾部调用优化(TCO)。TCO导致从另一个函数(或其本身,在这种情况下也称为“尾递归消除”,它是TCO的子集)对该函数的调用,作为该函数的最后一步,不需要新的堆栈框架,这减少了开销和内存使用。 Ruby显然从功能语言(lambda,地图等功能)中“借用”了许多概念,这使我感到好奇:Ruby是否执行尾部调用优化?


9
如何验证Rails中的日期?
我想在Ruby on Rails中验证模型中的日期,但是,到达它们的模型时,天,月和年的值已经转换为错误的日期。 例如,如果在我的视图中输入2009年2月31日Model.new(params[:model]),则在控制器中使用它时,它将转换为“ 2009年3月3日”,然后我的模型将其视为一个有效日期,但它是不正确的。 我希望能够在我的模型中进行此验证。有什么办法可以解决,还是我要彻底解决这个问题? 我找到了讨论问题的“ 日期验证 ”,但从未解决。


6
将元素添加到数组(如果尚不存在)
我有一个Ruby课 class MyClass attr_writer :item1, :item2 end my_array = get_array_of_my_class() #my_array is an array of MyClass unique_array_of_item1 = [] 我想推MyClass#item1送到unique_array_of_item1,但前提unique_array_of_item1是不包含该信息item1。我知道有一个简单的解决方案:只需遍历my_array并检查是否unique_array_of_item1已经包含当前值item1。 有没有更有效的解决方案?
92 ruby 

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.