我有一个数组date_array。如果i是0,我想date_array[i-1]返回nil或异常。我想我可以为此派生一个 Array 的子类,但我不知道之后该去哪里。有任何想法吗?
您可以这样做,但您不需要这样做。我觉得你的处理方式是错误的,因为检查传递的索引值的责任是你的,而不是数组的。
仅举一个例子
def get_array_value (i)
return data_array[i - 1] unless i < 0
return nil
end
Run Code Online (Sandbox Code Playgroud)
但是,如果您坚持这样做,此解决方案可能适合您。
# arr = SpecialArray.new([1, 2, 3, 4, 5])
class SpecialArray < Array
def [](i)
return super(i) unless i < 0
return nil
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2205 次 |
| 最近记录: |