Sha256: 0d7eabec51b95240d2c4e2b3a47587592b8d4b505e79be702652a92666da4627

Contents?: true

Size: 644 Bytes

Versions: 396

Compression:

Stored size: 644 Bytes

Contents

local function translate(word)
  local function begins_with_any_of(patterns)
    for _, pattern in ipairs(patterns) do
      if word:lower():find('^' .. pattern) then return true end
    end
  end

  if begins_with_any_of({ 'a', 'e', 'i', 'o', 'u', 'yt', 'xr' }) then
    return word .. 'ay'
  elseif begins_with_any_of({ '[^aeiou]qu', 'thr', 'sch' }) then
    return word:sub(4) .. word:sub(1, 3) .. 'ay'
  elseif begins_with_any_of({ 'ch', 'qu', 'th' }) then
    return word:sub(3) .. word:sub(1, 2) .. 'ay'
  else
    return word:sub(2) .. word:sub(1, 1) .. 'ay'
  end
end

return function(phrase)
  return phrase:gsub('%a+', translate)
end

Version data entries

396 entries across 396 versions & 1 rubygems

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