13 ruby
如何使用迭代器重写此行?
actor.inspect if actor.is_a? Array || actor.is_a? Hash
Run Code Online (Sandbox Code Playgroud)
我的尝试不起作用:
actor.inspect if [Array, Hash].each { |c| actor.is_a? c }
Run Code Online (Sandbox Code Playgroud)
Mla*_*vić 15
如果要匹配确切的类(而不是后代),可以使用:
[Hash, Array].member? a.class
Run Code Online (Sandbox Code Playgroud)
我想你应该解释一下你需要达到的目的.也许您需要检查的唯一事情是您的对象是否是一个Enumerable,或者即使它是respond_to?某种特定的方法.
ram*_*ion 11
您正在寻找 Array#any?
actor.inspect if [Array, Hash].any? { |c| actor.is_a? c }
Run Code Online (Sandbox Code Playgroud)
#each通常只返回可枚举的. #any? 或者块的结果.
| 归档时间: |
|
| 查看次数: |
1916 次 |
| 最近记录: |