我有一个309位的整数,我想遍历它的字符。
目前我使用的是:
require 'openssl'
e = 116505013962726356794269846667188147473899121100449069443844506823885859211073843523906823741034558875724969276233769835502344452366515593952571468651971447660633083078837371793388842846199643249996094940742465135064478448126948741186882484457847959126808512823416166517945252986434515406363102297514031583117我有:
e.times do |i|
...
end可以理解,这会产生一个错误:
undefined method `times' for #<OpenSSL::BN:0x007fec05002140>我尝试将bignum转换为整数:
e.to_i.times do |i|
...
end返回:
bignum too big to convert into `long'我理解为什么会收到这些错误,但我想问的是,我如何遍历如此大的数字中的每个字符?
发布于 2013-11-29 01:45:51
这怎么回事?
e = 116505013962726356794269846667188147473899121100449069443844506823885859211073843523906823741034558875724969276233769835502344452366515593952571468651971447660633083078837371793388842846199643249996094940742465135064478448126948741186882484457847959126808512823416166517945252986434515406363102297514031583117
e.to_s.each_char do |c|
# code
endhttps://stackoverflow.com/questions/20272048
复制相似问题