def initialize(apps, catch=404)
@apps = []; @has_app = {}
apps.each { |app| add app }
@catch = {}
[*catch].each { |status| @catch[status] = true }
end
在这个方法中从机架::级联,目的是什么splat(*)
服务于[*catch]
code?
我认为方法参数中使用了 splat 来指示何时将有未指定数量的参数。
splat在这里有不同的含义吗?
它创建一个用于捕获的单个平面数组
我不确定是否有人完全理解 splat 运算符。很多时候,它会删除一层“排列性”,但不会删除最后一层。
至少在这一种情况下是有可能得到它的。它为 catch 参数创建单级数组,无论是否catch
是单个数字或数字数组。
>> t = [*404]
=> [404]
>> t = [*[404,405,406]]
=> [404, 405, 406]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)