Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > ipaddrライブラリ > IPAddrクラス

class IPAddr

クラス・モジュールの継承リスト: IPAddr < Object < Kernel < BasicObject

要約

IP アドレスを扱うのためのクラスです。

例:

require 'ipaddr'

ipaddr1 = IPAddr.new("3ffe:505:2::1")
p ipaddr1   # => #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>

ipaddr3 = IPAddr.new("192.168.2.0/24")
p ipaddr3   # => #<IPAddr: IPv4:192.168.2.0/255.255.255.0>

参照

特異メソッド

定義 説明
new(addr = '::', family = Socket::AF_UNSPEC) -> IPAddr

新しい IPAddr オブジェクトを生成します。

new_ntoh(addr) -> IPAddr

ネットワークバイトオーダーのバイト列から IPAddr オブジェクトを生成します。

ntop(addr) -> String

ネットワークバイトオーダーのバイト列で表現された IP アドレスを人間の読める形式に変換します。

インスタンスメソッド

定義 説明
self & ipaddr -> IPAddr

他の IPAddr オブジェクトとのビットごとの論理積により、新しい IPAddr オブジェクトを生成します。

self << num -> IPAddr

ビットごとの左シフト演算により、新しい IPAddr オブジェクトを生成します。

self <=> other -> Integer | nil

self と other を比較します。

self == ipaddr -> bool

IPAddr オブジェクト同士が等しいかを比較します。

include?(ipaddr) -> bool
self === ipaddr -> bool

与えられた IPAddr オブジェクトが自身の範囲に入っているかを判定します。

self >> num -> IPAddr

ビットごとの右シフト演算により、新しい IPAddr オブジェクトを生成します。

eql?(other) -> bool

自身が other と等しい場合は真を返します。そうでない場合は偽を返します。

family -> Integer

このオブジェクトのアドレスファミリを返します。

hash -> Integer

ハッシュ値を返します。

hton -> String

ネットワークオーダーのバイト列に変換します。

inspect -> String

オブジェクトを人間が読める形式に変換した文字列を返します。

ip6_arpa -> String

IPv6 なら [RFC3172] で定義された形式で DNS 逆引きのための文字列を返します。 IPv4 の場合は例外を発生します。

ip6_int -> String

IPv6 なら [RFC1886] 互換形式で DNS 逆引きのための文字列を返します。 IPv4 の場合は例外を発生します。

ipv4? -> bool

IPv4 なら真を返します。

ipv4_compat -> IPAddr

IPv4 アドレスから IPv4 互換 IPv6 アドレスの新しい IPAddr オブジェクトを返します。

ipv4_compat? -> bool

IPv4 互換 IPv6 アドレスなら 真を返します。

ipv4_mapped -> IPAddr

IPv4 アドレスから IPv4 射影 IPv6 アドレスの新しい IPAddr オブジェクトを返します。

ipv4_mapped? -> bool

IPv4 射影 IPv6 アドレスなら 真を返します。

ipv6? -> bool

IPv6 なら真を返します。

mask(prefixlen) -> IPAddr

マスクされた新しい IPAddr オブジェクトを返します。引数にはプリフィックス長とマスクの両方を受け付けます (e.g. 8, 64, "255.255.255.0")。

native -> self | IPAddr

IPv4 射影 IPv6 アドレスや IPv4 互換 IPv6 アドレスから、 IPv4 アドレスの新しい IPAddr オブジェクトを返します。 IPv4 互換でも IPv4 組み込みでもないなら self を返します。

reverse -> String

DNS 逆引きのための文字列を返します。 IPv6 なら [RFC3172] で定義された形式で返します。

succ -> IPAddr

次の IPAddr オブジェクトを返します。

to_i -> Integer

整数に変換します。

to_range -> Range

self の IP アドレスとサブネットマスクで取得できる IP アドレスの範囲を Range オブジェクトとして返します。

to_s -> String

文字列に変換します。

to_string -> String

標準的な文字列表現に変換します。

self | ipaddr -> IPAddr

他の IPAddr オブジェクトとのビットごとの論理和により、新しい IPAddr オブジェクトを生成します。

~ self -> IPAddr

ビットごとの論理否定により、新しい IPAddr オブジェクトを生成します。

protectedメソッド

定義 説明
mask!(mask) -> self

与えられた mask を使用してこのオブジェクトの IP アドレスを破壊的に変更します。

set(addr, *family) -> self

このオブジェクトの IP アドレスとアドレスファミリをセットして自身を返します。

定数

定義 説明
IN4MASK -> Integer

IPv4 アドレスの場合に使用するマスク値。

IN6FORMAT -> String

IPv6 アドレスをわかりやすく表示するためのフォーマット文字列。

IN6MASK -> Integer

IPv6 アドレスの場合に使用するマスク値。

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined !~ =~ _dump class clone define_singleton_method display enum_for equal? extend freeze frozen? initialize initialize_copy instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods must_be must_be_close_to must_be_empty must_be_instance_of must_be_kind_of must_be_nil must_be_same_as must_be_within_epsilon must_equal must_include must_match must_raise must_respond_to must_send must_throw nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE