Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
class method
Resolv::LOC::Coord.create
(::Resolv::LOC::Coord | ::String arg) -> instance
create(arg)
lib/resolv.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.1.0-preview1/lib/resolv.rb, line 3530
def self.create(arg)
case arg
when Coord
return arg
when String
unless m = Regex.match(arg)
raise ArgumentError.new("not a properly formed Coord string: " + arg)
end
arc = (m[1].to_i * 3_600_000) + (m[2].to_i * 60_000) + (m[3].to_f * 1_000).to_i
dir = m[4]
lat = dir[/[NS]/]
unless arc <= (lat ? 324_000_000 : 648_000_000) # (lat ? 90 : 180) * 3_600_000
raise ArgumentError.new("out of range as Coord: #{arg}")
end
hemi = dir[/[NE]/] ? 1 : -1
return new([arc * hemi + Bias].pack("N"), lat ? "lat" : "lon")
else
raise ArgumentError.new("cannot interpret as Coord: #{arg.inspect}")
end
end
Creates a new LOC::Coord from arg which may be:
LOC::Coord-
returns
arg. String-
argmust match theLOC::Coord::Regexconstant