open System.Text.RegularExpressions
let (|EmailAddress|_|) input =
let m = Regex.Match(input,@".+@.+")
if (m.Success) then Some input else None
let classifyString aString =
printfn "%s is an email" x
type EmailAddress = EmailAddress of string
type EmailContactInfo = {
EmailAddress: EmailAddress;
if System.Text.RegularExpressions.Regex.IsMatch(s,@"^\S+@\S+\.\S+$")
then Some(EmailAddress s)
let value (EmailAddress e) = e
let address1 = EmailAddress.create "example.com"
let str = match address1 with
|Some(e) -> EmailAddress.value(e)
let makeResource name = { new System.IDisposable with member this.Dispose() = printfn "%s disposed" name}
let exampleUseBinding name =
use myResource = makeResource name
exampleUseBinding "hello"