我可以检查一个数组,例如只是在ruby中保存整数吗?

noi*_*rcc 8 ruby arrays loops

标题,我认为是自我宣称.我是一个java开发人员,并希望确保我的数组只保存整数值.我知道红宝石中的一切都是一个对象.我发现循环遍历数组并对每个元素进行检查是不方便的.红宝石有没有这方面的捷径?

Ser*_*sev 19

使用Enumerable#all?带块.整数是ruby中Integer类的实例.

[1, 2, 3].all? {|i| i.is_a?(Integer) } # => true
[1, 2, 3, '4'].all? {|i| i.is_a?(Integer) } # => false
Run Code Online (Sandbox Code Playgroud)

  • *小*整数是Ruby中的Fixnum.这不适用于大整数.要覆盖所有int数,请使用Integer类本身:`puts [1,2,3,4444444444] .all?{|我| i.is_a?整数}` (2认同)