diff options
author | MainShayne233 <shaynetremblay@hotmail.com> | 2019-04-05 18:51:13 -0400 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2019-04-07 08:54:47 +0000 |
commit | 673e9e907093bd448db3b108b3d654c13cdc66f7 (patch) | |
tree | 5d1b50f5ffb80b35c5d8a7c033e769f6337a1893 /gen | |
parent | e6fc269473f9b60e12a3c4eb4d2e17d0bd0c8f4a (diff) | |
download | gleam_stdlib-673e9e907093bd448db3b108b3d654c13cdc66f7.tar.gz gleam_stdlib-673e9e907093bd448db3b108b3d654c13cdc66f7.zip |
Implement parse_int
Diffstat (limited to 'gen')
-rw-r--r-- | gen/str.erl | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gen/str.erl b/gen/str.erl index 4ca27f5..3b1497e 100644 --- a/gen/str.erl +++ b/gen/str.erl @@ -2,7 +2,7 @@ -compile(no_auto_import). -include_lib("eunit/include/eunit.hrl"). --export([length/1, lowercase/1, uppercase/1, reverse/1, split/2, replace/3, from_int/1, base_from_int/2, from_float/1]). +-export([length/1, lowercase/1, uppercase/1, reverse/1, split/2, replace/3, from_int/1, parse_int/1, base_from_int/2, from_float/1]). length(A) -> string:length(A). @@ -68,6 +68,19 @@ from_int_test() -> expect:equal(from_int(123), <<"123">>). -endif. +parse_int(A) -> + gleam__stdlib:parse_int(A). + +-ifdef(TEST). +parse_int_test() -> + expect:equal(parse_int(<<"123">>), {ok, 123}), + expect:equal(parse_int(<<"-123">>), {ok, -123}), + expect:equal(parse_int(<<"0123">>), {ok, 123}), + expect:equal(parse_int(<<"">>), {error, parse_error}), + expect:equal(parse_int(<<"what">>), {error, parse_error}), + expect:equal(parse_int(<<"1.23">>), {error, parse_error}). +-endif. + base_from_int(A, B) -> erlang:integer_to_binary(A, B). |