Sha256: 435456acfb613088e0308bab9fe53ed2129a3db38341c77927f8c61c32fedff2

Contents?: true

Size: 613 Bytes

Versions: 396

Compression:

Stored size: 613 Bytes

Contents

local PhoneNumber = {}

function PhoneNumber:new(string_or_number)
  self.__index = self
  local n = string.gsub(string_or_number, '%D', '')
  n = n:match'^1?(%d%d%d%d%d%d%d%d%d%d)$' or '0000000000'
  return setmetatable({ number = n }, self)
end

function PhoneNumber:areaCode(symbol)
  return self.number:sub(1, 3)
end

function PhoneNumber:__tostring()
  local phone_format = '(%d) %d-%d'
  local area_code, central_office_code, station_number = self:areaCode(), self.number:sub(4, 6), self.number:sub(7, 10)
  return phone_format:format(area_code, central_office_code, station_number)
end

return PhoneNumber

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.179 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.178 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.177 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.176 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.175 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.174 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.173 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.172 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.171 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.170 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.169 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.167 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.166 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.165 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.164 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.163 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.162 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.161 tracks/lua/exercises/phone-number/example.lua
trackler-2.2.1.160 tracks/lua/exercises/phone-number/example.lua