首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历一个bignum - Ruby

遍历一个bignum - Ruby
EN

Stack Overflow用户
提问于 2013-11-29 01:42:39
回答 1查看 609关注 0票数 0

我有一个309位的整数,我想遍历它的字符。

目前我使用的是:

代码语言:javascript
复制
require 'openssl'
e = 116505013962726356794269846667188147473899121100449069443844506823885859211073843523906823741034558875724969276233769835502344452366515593952571468651971447660633083078837371793388842846199643249996094940742465135064478448126948741186882484457847959126808512823416166517945252986434515406363102297514031583117

我有:

代码语言:javascript
复制
e.times do |i|
   ...
end

可以理解,这会产生一个错误:

代码语言:javascript
复制
undefined method `times' for #<OpenSSL::BN:0x007fec05002140>

我尝试将bignum转换为整数:

代码语言:javascript
复制
 e.to_i.times do |i|
   ...
 end

返回:

代码语言:javascript
复制
bignum too big to convert into `long'

我理解为什么会收到这些错误,但我想问的是,我如何遍历如此大的数字中的每个字符?

EN

回答 1

Stack Overflow用户

发布于 2013-11-29 01:45:51

这怎么回事?

代码语言:javascript
复制
e = 116505013962726356794269846667188147473899121100449069443844506823885859211073843523906823741034558875724969276233769835502344452366515593952571468651971447660633083078837371793388842846199643249996094940742465135064478448126948741186882484457847959126808512823416166517945252986434515406363102297514031583117
e.to_s.each_char do |c|
    # code
end
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20272048

复制
相关文章

相似问题

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