Sha256: 44e6a1a741aec40d47d02a588facb7270f0ae70fa19978f7b365a3882f7b53fc

Contents?: true

Size: 731 Bytes

Versions: 187

Compression:

Stored size: 731 Bytes

Contents

-module(example).

-export([response_for/1, test_version/0]).

-spec response_for(string()) -> string().
response_for(String) ->
  first_match(
    String,
    [{fun is_all_spaces/1, "Fine. Be that way!"},
     {fun is_shouting/1, "Whoa, chill out!"},
     {fun is_question/1, "Sure."},
     {fun (_) -> true end, "Whatever."}]).

test_version() ->
    1.



first_match(S, [{F, Res} | Fs]) ->
  case F(S) of
    true -> Res;
    false -> first_match(S, Fs)
  end.

is_shouting(String) ->
  lists:any(fun (C) -> C >= $A andalso C =< $Z end, String) andalso
  string:to_upper(String) =:= String.

is_question(String) ->
  lists:last(String) =:= $?.

is_all_spaces(String) ->
  re:run(String, "^(\\h|\\v)*$", [unicode]) =/= nomatch.

Version data entries

187 entries across 187 versions & 1 rubygems

Version Path
trackler-2.2.1.55 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.54 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.53 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.52 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.51 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.50 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.49 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.48 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.47 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.46 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.45 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.44 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.43 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.42 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.41 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.40 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.39 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.38 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.37 tracks/erlang/exercises/bob/src/example.erl
trackler-2.2.1.36 tracks/erlang/exercises/bob/src/example.erl