我有一个309位整数,我想遍历其字符。迭代通过一个bignum - 红宝石
目前我使用:
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'
我明白为什么我收到这些错误,但我问我怎么过如此大量的每个字符重复?
迭代'e'次将带你到时代的尽头。 – Vache
你的意思是“遍历数字(作为字符)在基地10代表”(目前的答案地址),还是别的? –
我不认为这很实际。即使有办法做到这一点,但我认为在迭代结束时你仍然还活着。 – sawa