需要计算IP => int就像在这里:
https://bitbucket.org/lorien/django-ipgeo/src/d19648c9b14f/ipgeo/models.py 但是在红宝石中。
我是红宝石的新手,所以无法将其转化为红宝石:
number = struct.unpack('!L', socket.inet_aton(ip))[0]
struct , socket 是python std, ip 是一个类似'127.0.0.1'的字符串
答案 0 :(得分:3)
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