通过将地图条目转换为Elixir中的downcase来更新地图条目
如何通过将键的值作为初始值来更新映射中的值?也就是说,我想将字符串值转换为小写形式,如下所示:通过将地图条目转换为Elixir中的downcase来更新地图条目,elixir,Elixir,如何通过将键的值作为初始值来更新映射中的值?也就是说,我想将字符串值转换为小写形式,如下所示: Map.update(m1, "key1", ???, &String.downcase/1) “?”中应该有什么,因为它需要初始值?由于初始值仅在键不存在时使用,因此您可以将nil作为默认值传入,如下所示: Map.update(m1, "key1", nil, &String.downcase/1) 由于该初始值仅在键不存在时使用,因此您只需传入nil作为默认值,如下所示: M
Map.update(m1, "key1", ???, &String.downcase/1)
“?”中应该有什么,因为它需要初始值?由于初始值仅在键不存在时使用,因此您可以将
nil
作为默认值传入,如下所示:
Map.update(m1, "key1", nil, &String.downcase/1)
由于该初始值仅在键不存在时使用,因此您只需传入
nil
作为默认值,如下所示:
Map.update(m1, "key1", nil, &String.downcase/1)
如果您需要一个代码,以便在映射中没有此类值的情况下优雅地回退,请使用: 这样,您就永远不会在某些输入上找到应用程序意外崩溃的原因
如果您仍然希望使用最简单的路径,则传递空字符串比传递
nil
更安全:
Map.update(m1, "key1", "", &String.downcase/1)
后者至少不会抛出,它会在未知键上静默返回一个空字符串。如果您需要代码在映射中没有此类值的情况下优雅地回退,请使用: 这样,您就永远不会在某些输入上找到应用程序意外崩溃的原因
如果您仍然希望使用最简单的路径,则传递空字符串比传递
nil
更安全:
Map.update(m1, "key1", "", &String.downcase/1)
后者至少不会抛出,它会在未知键上静默返回一个空字符串。如果该键保证存在,您可以使用
Map.update/3
,不需要初始值:Map.update!(m1,“key1”和&String.downcase/1)
。如果保证密钥存在,您可以使用Map.update/3
,不需要初始值:Map.update!(m1,“key1”和String.downcase/1)
。