ruby 迭代数组和对象属性的更好方法?[已关闭]

idfiyjo8  于 2023-08-04  发布在  Ruby
关注(0)|答案(1)|浏览(77)

已关闭。此问题需要更多focused。它目前不接受回答。
**希望改进此问题?**更新问题,使其仅针对editing this post的一个问题。

1年前关闭。
这篇文章被编辑并提交审查1年前,未能重新打开帖子:
原始关闭原因未解决
Improve this question
(Edit:现在我只使用ChatGPT编码的东西.比SO策略和版主好1000倍)
我找到了一个可行的解决方案,但我做了一些繁重的块复制/粘贴,只有示例的参数发生了变化(myobject.red,myobject.blue,myobject.yellow)。我尝试重构这个方法。这里有一个Myobject的示例,我需要在每个参数中推送数据。我认为在某个地方存在一个优雅的解决方案。
为了创建一组数据,我迭代了一个数组。数组的每个结果都需要在示例的相应参数中推送。谢啦,谢啦

class Myobject
 def initialize
  @blue = blue
  @red = red
  @yellow = yellow
 end
end

def mymethod
  param = ['foo','bar','jaa']
  
  param.each { |param|
    case param
    when 'foo'
      data = collect_method
      myobject.blue.push(data)
    when 'bar'
      data = collect_method
      myobject.red.push(data)
    when 'jaa'
      data = collect_method
      myobject.yellow.push(data)
    end
  end
end

字符串

dsf9zpds

dsf9zpds1#

def mymethod
  params = {'foo'=>:blue,'bar'=>:red,'jaa'=>:yellow}
  
  params.each do |k,v|
    my_object.send(v).push(collect_method(k))
  end
end

字符串
其中collect_method是Myobject类中的另一个方法

相关问题