You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby技术问题:如何统计含字母与数字的数组中的整数数量?

如何统计数组中的整数数量

首先得纠正你代码里的一个小问题:你用a << [0,1,2,3,4,5,6,7,8,9]的时候,是把整个整数数组作为单个元素加到a里面了,这样a的最后一个元素是数组,而不是单独的0-9这些整数。正确的做法应该用+=或者concat来把整数一个个追加到数组里:

a = 'abcdefghijklmnopqrstuvwxyz'.split('')
a += [0,1,2,3,4,5,6,7,8,9] # 这样每个整数都是a的独立元素

接下来解决统计整数数量的核心问题:Array#count方法如果传一个对象(比如正则/\d/),它会统计数组中等于这个对象的元素个数,显然你的数组里没有元素是正则对象,所以返回0,这就是原来代码失效的原因。

你有两种靠谱的实现方式:

方法1:通过元素类型判断(最准确,适配你的场景)

因为你的数组里,字母是String类型,整数是Integer类型,直接用count结合块判断元素类型就可以:

t = a.sample(10)
integer_count = t.count { |elem| elem.is_a?(Integer) }
p integer_count

方法2:通过正则判断(适合元素是字符串形式数字的情况)

如果你的数组里的数字是字符串形式(比如"5"而不是5),可以用正则匹配来统计:

# 假设数组元素都是字符串
a = 'abcdefghijklmnopqrstuvwxyz0123456789'.split('')
t = a.sample(10)
integer_count = t.count { |elem| elem.match?(/\d/) }
p integer_count

这样就能正确统计出数组里的整数(或字符串数字)数量啦~

内容的提问来源于stack exchange,提问作者Rich_F

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:43:24