Переведите одну строку, пожалуйста, с python на ruby - PullRequest
0 голосов
/ 30 сентября 2011

Необходимо рассчитать IP => int, как здесь:

https://bitbucket.org/lorien/django-ipgeo/src/d19648c9b14f/ipgeo/models.py но в рубине.

Я довольно новичок в ruby, поэтому не могу перевести это на ruby:

number = struct.unpack('!L', socket.inet_aton(ip))[0]

struct , socket - это python std, ip - строка типа '127.0.0.1'

1 Ответ

3 голосов
/ 30 сентября 2011

Ruby поставляется с модулем ipaddr, который определяет класс IPAddr, который может возвращать представление в виде целого числа.

require 'ipaddr'

addr = IPAddr.new '127.0.0.1'
print addr.to_i

Здесь он находится в irb:

ruby-1.9.2-p290 :002 > require 'ipaddr'
 => true 
ruby-1.9.2-p290 :003 > addr = IPAddr.new '127.0.0.1'
 => #<IPAddr: IPv4:127.0.0.1/255.255.255.255> 
ruby-1.9.2-p290 :004 > addr.to_i
 => 2130706433 
...