Rails的新手。
你如何简化,美化这种方法:
def find_index
index = 0
@ipn.each {|p|
index = 4 if p = "new" #this is just a dummy line
}
index
end
正如你所看到的,它很难看。如何删除顶部的索引定义和底部的索引以返回 - Ruby方式?
答案 0 :(得分:4)
我想你想要这个方法: http://ruby-doc.org/core-1.9.3/Enumerable.html#method-i-find_index
def find_index
@ipn.find_index{|p| p == "new" }
end
我还将变量名'@ ipn'更改为'@ipns',因为它似乎是一个可枚举的。
为了避免混淆,我可能会将方法重命名为'find_ipn_index',所以它看起来像这样:
def find_ipn_index
@ipns.find_index{|p| p == "new" }
end
或者,如果self.ipns可用,请不要为此定义新方法,只需调用:
self.ipns.find_index{|p| p == "new" }