В CRuby 2.5 и новее вы можете делать следующее:
require 'rbconfig/sizeof'
RbConfig::LIMITS['INT32_MAX'] # => 2147483647
Ключи RbConfig::LIMITS
являются именами макросов ограничения C (см. <limits.h>
, <stdint.h>
и <float.h>
)кроме FIXNUM_*
, который является подробностью реализации Ruby.
Я рекомендую определить вашу собственную константу (или локальную переменную) для этих ограничений.Это более портативный.