在对嵌套hashmap-ruby的一行调用中使用get.chomp两次

在对嵌套hashmap-ruby的一行调用中使用get.chomp两次,ruby,hashmap,chomp,Ruby,Hashmap,Chomp,对于下面的示例,使用get.chop的最佳方法是什么 user = {} user["list"] = [ {gets.chomp => {gets.chomp.delete(' ') => rand(1000000000000)} } ] 我能想到: a = gets.chop ; b = a.delete(' ') ; user["list"] = [ {a => {b => rand(1000000000000)} } ] 但也许有更好的办法 有什么想法吗?我能

对于下面的示例,使用get.chop的最佳方法是什么

user = {}
user["list"] = [ {gets.chomp => {gets.chomp.delete(' ') => rand(1000000000000)} } ]
我能想到:

a = gets.chop ; b = a.delete(' ') ; user["list"] = [ {a => {b => rand(1000000000000)} } ]
但也许有更好的办法


有什么想法吗?我能在不创建变量a和b的情况下完成吗?

您必须设置一个变量,以便在两个不同的位置使用输入。尽管可以将其压缩为以下内容:


user[“list”]=[{a=gets.chomp=>{a.delete('''=>rand(1000000000000)}}]

出于某种原因,我想如果我在字典中使用
a=gets.chomp
,则不会保存
gets.chomp
的值。。。但是不,这是有效的。。。我只是希望有一种不使用变量的方法来实现这一点。如果您可以在从命令行运行脚本时输入它(
ruby myscript.rb input
),那么您可以通过以下方式访问输入:
user[“list”]=[{ARG[0]。chomp=>{ARG.shift.chomp.delete('=>rand(1000000000000)}]
有趣!我要玩一玩。我在考虑像
.storevariable
这样的东西,所以
获取.chomp.storevariable
被保存为
storevariable
,然后可以编辑它。。。