小编k_D*_*ank的帖子

检查数组的任何元素是否满足条件

可能重复:
检查Ruby中数组中是否存在值

我有这个循环遍历字符串数组的方法,如果任何字符串包含字符串'dog',则返回true.它正在工作,但多个返回语句看起来很混乱.有没有更有说服力的方式这样做?

def has_dog?(acct)
  [acct.title, acct.description, acct.tag].each do |text|
    return true if text.include?("dog")
  end
  return false
end
Run Code Online (Sandbox Code Playgroud)

ruby

29
推荐指数
1
解决办法
2万
查看次数

在rails上正确实现Ruby中的递归方法

repeat_purchases_percent是我的Category模型中的一个方法.保证所有无父类别都具有数据库中future_purchases_percent的值.子类别可能有也可能没有future_purchases_percent.如果他们这样做,我想使用那个价值.如果没有,我想使用父的值,依此类推.

我尝试了一种递归方法.

def future_purchases_percent
  if self.future_purchases_percent.nil?
    Category.find(self.parent_id).future_purchases_percent
  else
    future_purchases_percent
  end
end
Run Code Online (Sandbox Code Playgroud)

这会陷入一个不断评估的循环中:

if self.future_purchases_percent.nil?
Run Code Online (Sandbox Code Playgroud)

我怎样才能正确实现这个方法?

ruby recursion ruby-on-rails

2
推荐指数
1
解决办法
1823
查看次数

标签 统计

ruby ×2

recursion ×1

ruby-on-rails ×1