Sha256: d445485d6d18c33f6021a28450d7c267beb001b1c4210a0e94b050b8b9235bbf

Contents?: true

Size: 561 Bytes

Versions: 262

Compression:

Stored size: 561 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|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

262 entries across 262 versions & 1 rubygems

Version Path
trackler-2.2.1.44 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.43 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.42 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.41 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.40 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.39 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.38 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.37 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.36 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.35 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.34 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.33 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.32 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.31 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.30 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.29 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.28 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.27 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.26 tracks/fsharp/exercises/pig-latin/Example.fs
trackler-2.2.1.25 tracks/fsharp/exercises/pig-latin/Example.fs