Sha256: 5910cb66b824df68803d30adc9b1f567893961d26aeba175fe53128cbecc0684

Contents?: true

Size: 456 Bytes

Versions: 84

Compression:

Stored size: 456 Bytes

Contents

-module(anagram).
-export([find/2]).

-spec find(string(), [string()]) -> [string()].
find(Word, Candidates) ->
  lists:filter(anagram_check(normalize(Word)), Candidates).

anagram_check({Lower, Sorted}) ->
  fun (Other) ->
      case normalize(Other) of
        {Lower, _} ->
          false;
        {_, Sorted} ->
          true;
        _ ->
          false
      end
  end.

normalize(S) ->
  Lower = string:to_lower(S),
  {Lower, lists:sort(Lower)}.

Version data entries

84 entries across 84 versions & 1 rubygems

Version Path
trackler-2.0.6.28 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.27 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.26 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.25 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.24 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.23 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.22 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.21 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.20 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.19 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.18 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.17 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.16 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.15 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.14 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.13 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.12 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.11 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.10 tracks/erlang/exercises/anagram/example.erl
trackler-2.0.6.9 tracks/erlang/exercises/anagram/example.erl