Sha256: 72d4f695dc205ec12d48197712639fc999ab62cb337266fbbb978bbd19243802

Contents?: true

Size: 564 Bytes

Versions: 134

Compression:

Stored size: 564 Bytes

Contents

module PigLatin

open System.Text.RegularExpressions

let vowelRegex = Regex(@"(?<begin>^|\s+)(?<vowel>a|e|i|o|u|yt|xr)(?<rest>\w+)", RegexOptions.Compiled)
let consonantRegex = Regex(@"(?<begin>^|\s+)(?<consonant>ch|qu|thr|th|rh|sch|yt|\wqu|\w)(?<rest>\w+)", RegexOptions.Compiled)

let vowelReplacement = "${begin}${vowel}${rest}ay";
let consonantReplacement = "${begin}${rest}${consonant}ay";

let translate input = 
    if vowelRegex.IsMatch input then vowelRegex.Replace(input, vowelReplacement)
    else consonantRegex.Replace(input, consonantReplacement)

Version data entries

134 entries across 134 versions & 1 rubygems

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