Perl уже давно является моим языком сценариев выбора, но я столкнулся с ужасной проблемой. По умолчанию нет поддержки длинных (64-разрядных) целых чисел. В большинстве случаев целое число является просто строкой, и они работают для поиска в огромных файлах, но есть много мест, где они не работают, например, двоичные &
, printf
, pack
, unpack
, <<
, >>
.Какие языки сценариев поддерживают длинные (64-битные) целые числа?
Теперь они работают в новых версиях Perl, но только если они построены с поддержкой 64-разрядных целых чисел, что не помогает, если я хочу сделать переносимый код для запуска на Perls, построенный без этой опции. И вы не всегда получаете контроль над Perl в системе, в которой работает ваш код.
Мой вопрос заключается в том, что Python, PHP и Ruby страдают от такой проблемы, или они также зависят от вариантов версии и сборки?
Из любопытства, любая причина, по которой используется bigint; недостаточно? – Hugmeir 2010-12-15 16:24:53
@ Hugmeir: Просто, что это медленно. Я обрабатываю файлы дампа MediaWiki, размер которых может быть несколько терабайт! – hippietrail 2010-12-15 16:39:21
@hippietrail, вы уверены, что виноваты 64-битные номера? – 2010-12-15 21:15:32