Преобразование из шестнадцатеричного в десятичное в рубине - PullRequest
1 голос
/ 04 октября 2019

0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFE_FFFFFC2F.ord => 115792089237316195423570985008687907853269984665640564039457584007908834671663

0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFE_FFFFFC2F.to_i => 115792089237316195423570985008687907853269984665640564039457584007908834671663

Может кто-нибудь объяснить мне, почему оба этих метода возвращают одно и то же целочисленное значение? Я не уверен, что понимаю метод ord ...

Возвращает кодовую точку первого символа строки, предполагая однобайтовую кодировку символов "

Я нашел это, но здесь я пошел шестнадцатеричное значение, и я использовал метод, а затем получил десятичное значение, так что «Что такое шестнадцатеричное?»: D

PS: Это десятичное значение наверняка, или яЯ не прав?

1 Ответ

1 голос
/ 04 октября 2019

Вы указали String#ord, и здесь вы вызываете #ord для Integer - это значение не десятичное и не строковое, а целое.

Integer#ord документы :

ord → self

Возвращает сам int.

97.ord # => 97 Этот метод предназначен для совместимости с литералами символов в Ruby. 1.9.

...