所以,我有x
个变量名称,我想从方法中分配给x
个连续的非nil
值...我该怎么做?
例如,我想将%w[alpha beta gamma]
映射到以0开头的函数nil
的三个连续非get(x)
值。
因此,假设get(x)
的值为get(0)=1
,get(1)=54
,get(2)=nil
,get(3)=6
。我想要alpha = 1
,beta = 54
和gamma = 6
。
我该怎么做?
答案 0 :(得分:1)
设置哈希键/值对可能无法真正回答问题,但对于真正的程序来说,它几乎总是正确的解决方案......
def get x # test sub
[1, 54, nil, 6][x]
end
# find the next n non-nil values of an integer function
def find n, sofar, nextval
return sofar if sofar.length >= n
return find n, (sofar << get(nextval)).compact, nextval + 1
end
h = {}
h[:alpha], h[:beta], h[:gamma] = find 3, [], 0
p h