Files
Nim/tests/generics/tgenericvariant.nim
Adam Strzelecki e80465dacf tests: Trim .nim files trailing whitespace
via OSX: find . -name '*.nim' -exec sed -i '' -E 's/[[:space:]]+$//' {} +
2015-09-04 23:04:32 +02:00

24 lines
470 B
Nim

type
TMaybe[T] = object
case empty: bool
of false: value: T
else: nil
proc Just*[T](val: T): TMaybe[T] =
result.empty = false
result.value = val
proc Nothing[T](): TMaybe[T] =
result.empty = true
proc safeReadLine(): TMaybe[string] =
var r = stdin.readLine()
if r == "": return Nothing[string]()
else: return Just(r)
when isMainModule:
var Test = Just("Test")
echo(Test.value)
var mSomething = safeReadLine()
echo(mSomething.value)