0
def sort(someString) do
countSubstring = fn(_, "") -> 0
(str, sub) -> length(String.split(str, sub)) - 1 end
someMap = %{:a => 0, :b => 0, :c => 0, :d => 0}
def loopMap(aMap, n) when n <= 1 do
timesKeyFound = countSubstring(someString, aMap[n])
Map.put_new(aMap, aMap[key], timesKeyFound)
end
def loopMap(aMap, n) do
timesKeyFound = countSubstring(someString, aMap[n])
Map.put_new(aMap, aMap[key], timesKeyFound)
loopMap(aMap, n - 1)
end
loopMap(someMap, 4) #4 is the number of keys in the map
end
私がここでやろうとしているのは、文字列をソートモジュールに渡すことです。たとえば、 "Hi my name is bob"という文字列を渡してみましょう。これが渡されたら、 'a' 'b' 'c'と 'd'の4つのキーでマップを作成します。 次に、私のloopMapコードで、someMapマップとそのキーの数(n)を引数として渡そうとしています。次に、各キーのインスタンスの文字列を検索し、キーが見つかった場合は、見つかったキーごとにマップを1つ更新します。私は間違って何をやっている地図をループしてエリクシルのキー値を更新する
%{a: 1, b: 2, c: 0, d: 0}
:私は私のsomeMapにloopMapを実行した後に
iがある更新されたマップを持っている必要がありますか?
何マイマップは、%などの単一文字でない原子を有する場合、{:OB => 0:AME => 0}? – frostmage
その場合は、文字列の文字の代わりにマップキーを減らし、正規表現を使用して、各キーに対してその部分文字列の一致数を取得するとよいでしょう。 – bitwalker