【发布时间】:2016-04-03 18:18:44
【问题描述】:
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”。一旦通过,我将创建一个包含 4 个键的映射:'a''b''c' 和 'd'。 然后在我的 loopMap 代码中,我试图将我的 someMap 映射及其键数(n)作为参数传递。然后我在字符串中搜索每个键的实例,如果找到该键,我会为找到的每个键将我的地图更新 1。
在我的 someMap 上运行 loopMap 后,我应该有一个更新的地图:
%{a: 1, b: 2, c: 0, d: 0}
我做错了什么?
【问题讨论】:
标签: loops dictionary increment elixir