Elm支持[1..100]
,但是如果我尝试['a'..'z']
,编译器会给我一个类型不匹配(期望一个数字,得到一个Char)。有没有办法让这项工作?
答案 0 :(得分:18)
只需创建一系列数字并将其映射到字符:
List.map Char.fromCode [97..122]
编辑,或作为功能:
charRange : Char -> Char -> List Char
charRange from to =
List.map Char.fromCode [(Char.toCode from)..(Char.toCode to)]
charRange 'a' 'd' -- ['a','b','c','d'] : List Char
编辑,从elm 0.18开始,List.range最终是一个函数:
charRange : Char -> Char -> List Char
charRange from to =
List.map Char.fromCode <| List.range (Char.toCode from) (Char.toCode to)