所以,我有x变量名,我想从一个方法中分配给x连续的非nil值……我该怎么做?
例如,我想映射到以 0 开头的函数%w[alpha beta gamma]的三个连续的非nil值。get(x)
因此,假设的值为get(x), get(0)=1, get(1)=54, get(2)=nil。get(3)=6我想要alpha = 1,beta = 54和gamma = 6.
我怎样才能做到这一点?
所以,我有x变量名,我想从一个方法中分配给x连续的非nil值……我该怎么做?
例如,我想映射到以 0 开头的函数%w[alpha beta gamma]的三个连续的非nil值。get(x)
因此,假设的值为get(x), get(0)=1, get(1)=54, get(2)=nil。get(3)=6我想要alpha = 1,beta = 54和gamma = 6.
我怎样才能做到这一点?
设置散列键/值对可能无法真正回答问题,但对于实际程序来说,它几乎总是正确的解决方案......
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