在Ruby中为插值变量分配插值

杰克

我有一个方法:

def create_data_arrays
    @local_result_hash.each do |job|
        @jobIds << job["jobId"]
        @employerNames << job["employerName"]
        @jobTitles << job["jobTitle"]
        @minimumSalarys << job["minimumSalary"]
        @maximumSalarys << job["maximumSalary"]
        @expirationDates << job["expirationDate"]
        @jobDescriptions << job["jobDescription"]
   end
end

而在主类中:

@jobIds = []
@employerNames = []
@jobTitles = []
@minimumSalarys = []
@maximumSalarys = []
@expirationDates = []
@jobDescriptions = []

我想重构该方法,因此创建了以下数组:

@api_parameters = ["jobId", "employerName", "jobTitle", "minimumSalary", "maximumSalary", "expirationDate", "jobDescription"]

并将方法重构为:

def create_data_arrays
    @local_result_hash.each do |job|
        @api_parameters.each do |parameter|
            "@#{parameter}" << job[parameter]
        end
    end
end

查询哈希工作正常,但"@#{parameter}"不起作用。有什么建议吗?我在做疯狂的事吗?

斯派克曼

寻找instance_variable_get

def create_data_arrays
  @local_result_hash.each do |job|
    @api_parameters.each do |parameter|
      instance_variable_get("@#{parameter}s") << job[parameter]
    end
  end
end

另请参阅:apidock.com/ruby/Object/instance_variable_get

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Ruby插值嵌入HAML变量

来自分类Dev

Ruby数组插值

来自分类Dev

在bash脚本中插值包含“ $”的变量

来自分类Dev

PHP中的数组变量插值

来自分类Dev

PHP中的数组变量插值

来自分类Dev

Shell脚本中的变量插值

来自分类Dev

用户生成内容中的变量插值

来自分类Dev

变量中的字符串插值

来自分类Dev

Angular 2 在插值中连接变量

来自分类Dev

链接中的插值

来自分类Dev

angularjs 中的插值

来自分类Dev

变量与模板文字插值

来自分类Dev

Bash变量插值混淆

来自分类Dev

R:通过分配该变量在数据框列中插值

来自分类Dev

通过字符串插值动态创建Ruby变量

来自分类Dev

从通过变量插值获得的值中减去

来自分类Dev

在已插值的字符串中以角度插入插值变量

来自分类Dev

为数据属性插值红宝石变量?

来自分类Dev

无法将ruby变量插值到字符串url中以调用JSON API

来自分类Dev

在PowerShell中为环境变量进行字符串插值

来自分类Dev

Python中的对数插值

来自分类Dev

R中的插值/查找

来自分类Dev

在TensorFlow中插值权重

来自分类Dev

Freemarker 中的嵌套插值

来自分类Dev

AppleScript中的Ruby风格的字符串插值

来自分类Dev

AppleScript中的Ruby风格的字符串插值

来自分类Dev

如何在Ruby中获得非插值bash转义?

来自分类Dev

Sass变量插值,输出中带有反斜杠

来自分类Dev

在Ansible运行的shell命令中插值变量