Input and CLI Arguments
Programs receive args and can read interactive input as Option[String].
Args
main receives command-line arguments as List[String].
args.brp
func main(args: List[String]) -> Void:
print(args.length().to_string())Input
input(prompt) prints a prompt and returns Option[String].
input.brp
match input("name> "):
Some(name): print(name)
None: print("bye")EOF As None
Ctrl-D or EOF returns None instead of a null string.
eof.brp
match input("name> "):
None: print("no input")
Some(name): print(name)Stderr
eprintln writes a line to stderr.
stderr.brp
eprintln("missing file")Exit Codes
Return Int from main when the program needs success or failure status.
exit.brp
func main(args: List[String]) -> Int:
print("ok")
0Example
greeter.brp
func main(args: List[String]) -> Int:
shout: Bool = args.contains("--shout")
match input("name> "):
Some(name):
text: String = if shout:
name.upper()
else:
name
print("Hello, " + text.trim())
0
None:
eprintln("no input")
0
Try It
terminal
blorp run greeter.brp -- --shout