类 Resolv::DNS::Name
表示一个 DNS
名称。
公共类方法
create(arg) 点击切换源代码
从 arg
创建一个新的 DNS
名称。arg
可以是
# File lib/resolv.rb, line 1262 def self.create(arg) case arg when Name return arg when String return Name.new(Label.split(arg), /\.\z/ =~ arg ? true : false) else raise ArgumentError.new("cannot interpret as DNS name: #{arg.inspect}") end end
公共实例方法
absolute?() 点击切换源代码
如果此名称是绝对的,则为真。
# File lib/resolv.rb, line 1293 def absolute? return @absolute end
subdomain_of?(other) 点击切换源代码
如果 other
是一个子域名,则返回真。
示例
domain = Resolv::DNS::Name.create("y.z") p Resolv::DNS::Name.create("w.x.y.z").subdomain_of?(domain) #=> true p Resolv::DNS::Name.create("x.y.z").subdomain_of?(domain) #=> true p Resolv::DNS::Name.create("y.z").subdomain_of?(domain) #=> false p Resolv::DNS::Name.create("z").subdomain_of?(domain) #=> false p Resolv::DNS::Name.create("x.y.z.").subdomain_of?(domain) #=> false p Resolv::DNS::Name.create("w.z").subdomain_of?(domain) #=> false
# File lib/resolv.rb, line 1319 def subdomain_of?(other) raise ArgumentError, "not a domain name: #{other.inspect}" unless Name === other return false if @absolute != other.absolute? other_len = other.length return false if @labels.length <= other_len return @labels[-other_len, other_len] == other.to_a end
to_s() 点击切换源代码
将域名作为字符串返回。
即使名称对象是绝对的,域名也不包含尾部的点。
示例
p Resolv::DNS::Name.create("x.y.z.").to_s #=> "x.y.z" p Resolv::DNS::Name.create("x.y.z").to_s #=> "x.y.z"
# File lib/resolv.rb, line 1354 def to_s return @labels.join('.') end