首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从std快速读取ruby

从std快速读取ruby
EN

Stack Overflow用户
提问于 2010-07-26 19:15:55
回答 2查看 395关注 0票数 0

从STDIN中读取1000000个字符(整数),并将其拆分为一个由一个字符组成的整数(而不是字符串)的数组,最快的方法是什么?

代码语言:javascript
复制
123456 > [1,2,3,4,5,6]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-26 19:43:31

这应该相当快:

代码语言:javascript
复制
a = []
STDIN.each_char do |c|
  a << c.to_i
end

尽管一些粗略的基准测试表明这个黑客版本的速度要快得多:

代码语言:javascript
复制
a = STDIN.bytes.map { |c| c-48 }
票数 2
EN

Stack Overflow用户

发布于 2010-07-26 19:43:43

代码语言:javascript
复制
scan(/\d/).map(&:to_i)

这将把任何字符串拆分为整数数组,忽略任何非数字字符。如果您想从STDIN获取用户输入,请添加gets:

代码语言:javascript
复制
gets.scan(/\d/).map(&:to_i)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3334294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档