Slide 33
Slide 33 text
Έ߹ΘͤͯδΣωϨʔλΛ࡞ͬͯ…
let localEmail = allowedLocalCharacters
.proliferateNonEmpty
.suchThat({ $0[$0.index(before: $0.endIndex)] != "." })
.map { String($0) }
let hostname = Gen.one(of: [
lowerCaseLetters,
numeric,
Gen.pure("-"),
]).proliferateNonEmpty.map { String($0) }
let tld = lowerCaseLetters
.proliferateNonEmpty
.suchThat({ $0.count > 1 })
.map { String($0) }
let emailGen = glue([
localEmail,
Gen.pure("@"),
hostname,
Gen.pure("."),
tld
])
emailGen.generate // "q13vS#@s409pwr-plv90-w40--91-.ijtgmvoiljnticlggqlpw"
emailGen.generate // "!'wxd8e@d4l5i59-ig0-84r-d-980e2zu-n1.krfqjivizyqahxe"
emailGen.generate // "46n}ZmEDg760&4L4RR#.Q'b{}7!@8u---893------s-792--10a3-2h-.sqypnciyqtyod"
33