gpt4 book ai didi

ruby - 在 Ruby 中以编程方式创建数组名称

转载 作者:数据小太阳 更新时间:2023-10-29 07:21:50 25 4
gpt4 key购买 nike

我是一个新手程序员,想知道如何使用来自另一个数组的单词列表创建数组名称。

例如,我想取这个数组:

array = ['fruits','veggies']

然后把它变成这样:

fruits = []
veggies = []

在 Ruby 中执行此操作的最佳方法是什么?

这是我的尝试,但我惨遭失败:

variables = ['awesome', 'fantastic', 'neato']

variables.each do |e|
e = []
e << [1, 2, 3]
end

puts neato

最佳答案

问题是您的数组可能包含一个与局部变量或方法的名称相匹配的值,这就是痛苦和困惑开始的时候。

可能最好构建一个数组散列:

variables = ['awesome', 'fantastic', 'neato']
hash = variables.each_with_object({ }) { |k, h| h[k] = [ ] }

或者,如果您没有 each_with_object :

hash = variables.inject({ }) { |h, k| h[k] = [ ]; h }

注意 block 中的参数顺序开关 inject并且您必须从 block 中返回 h

这样您就拥有了数组,但您也可以通过使用散列作为小型可移植命名空间来保护您的命名空间。您可以像 Jacob Relkin 演示的那样即时创建变量,但这样做是在自找麻烦。如果 variables 的元素最终不是字母数字,您也会遇到麻烦。

关于ruby - 在 Ruby 中以编程方式创建数组名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6093100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com