所以,我有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