diff options
author | Louis Pilfold <louis@lpil.uk> | 2020-05-24 22:53:24 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2020-05-26 19:19:29 +0100 |
commit | bac2d26f56770aa3612b87f358528e2e2daeda9e (patch) | |
tree | ccd1b808acdde8be4c10bc00fba4d47324cf7c14 /src | |
parent | ddd89605d1c665cb5482a9cce174b9463c7188bc (diff) | |
download | gleam_stdlib-bac2d26f56770aa3612b87f358528e2e2daeda9e.tar.gz gleam_stdlib-bac2d26f56770aa3612b87f358528e2e2daeda9e.zip |
io.{prinln, debug}
Diffstat (limited to 'src')
-rw-r--r-- | src/gleam/io.gleam | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/src/gleam/io.gleam b/src/gleam/io.gleam index f4c1ad5..9fef99a 100644 --- a/src/gleam/io.gleam +++ b/src/gleam/io.gleam @@ -1,6 +1,6 @@ external type DoNotLeak -external fn erl_print(String) -> DoNotLeak = +external fn erl_print(String, List(a)) -> DoNotLeak = "io" "fwrite" /// Writes a string to standard output. @@ -8,10 +8,50 @@ external fn erl_print(String) -> DoNotLeak = /// ## Example /// /// > io.print("Hi mum") +/// // -> Hi mum /// Nil -/// //=> Hi mum -/// +/// pub fn print(string: String) -> Nil { - erl_print(string) + erl_print(string, []) + Nil +} + +/// Writes a string to standard output, appending a newline to the end. +/// +/// ## Example +/// +/// > io.println("Hi mum") +/// // -> Hi mum +/// Nil +/// +pub fn println(string: String) -> Nil { + erl_print("~ts\n", [string]) + Nil +} + +/// Print a value to standard output using Erlang syntax. +/// +/// The value is returned after being printed so it can be used in pipelines. +/// +/// ## Example +/// +/// > io.debug("Hi mum") +/// // -> <<"Hi mum">> +/// "Hi mum" +/// +/// > io.debug(Ok(1)) +/// // -> {ok, 1} +/// Ok(1) +/// +/// > import list +/// > [1, 2] +/// > |> list.map(fn(x) { x + 1 }) +/// > |> io.debug +/// > |> list.map(fn(x) { x * 2 }) +/// // -> [2, 3] +/// [4, 6] +/// +pub fn debug(term: anything) -> Nil { + erl_print("~tp\n", [term]) Nil } |