List 枚举筛选:包括索引处的值+;1.
我试图从List 枚举筛选:包括索引处的值+;1.,list,elixir,List,Elixir,我试图从args列表中解析unix样式标志,即: args = ["hello", "-f", "val", "-u", "valtwo"] # Desired outcome: [{"-f", "val"}, {"-u", "valtwo"}] 我已成功使用以下正则表达式提取标志: args |> Enum.
args
列表中解析unix样式标志,即:
args = ["hello", "-f", "val", "-u", "valtwo"]
# Desired outcome: [{"-f", "val"}, {"-u", "valtwo"}]
我已成功使用以下正则表达式提取标志:
args
|> Enum.filter(fn arg -> Regex.match?(~r/^-{1,2}\w+/, arg) end)
# ["-f", "-u"]
但是,为了获得与这些键对应的值,我需要在下一个索引中获得args的值
我曾考虑过使用Enum.chunk\u every(2)
(丢弃第一个元素,“hello”
)转换数组,但这不够灵活,因为这将在以下情况下中断:
["hello", "-f", "val", "secondvalforf", "-u", "valtwo"]
# Achieved outcome: [{"-f", "val"}, {"secondvalforf", "-u"}, {"valtwo"}]
非常感谢您的任何想法。是您在这里的朋友
args=~w |你好-f val foo-u valtwo|
#⇒ [“你好”、“-f”、“val”、“foo”、“-u”、“valtwoo”]
枚举减少(args,[],fn
他是你的朋友
args=~w |你好-f val foo-u valtwo|
#⇒ [“你好”、“-f”、“val”、“foo”、“-u”、“valtwoo”]
枚举减少(args,[],fn