【问题标题】:Elixir List Syntax errorElixir 列表语法错误
【发布时间】:2016-11-25 08:18:34
【问题描述】:

我正在为 Elixir 的列表、元组、关键字列表等而苦苦挣扎。这个列表有什么问题?

这行得通

iex> [1, one: "one"] #=> [1, {:one, "one"}]

但这不是

iex> [one: "one", 1] #=> Syntax error before 1

【问题讨论】:

    标签: elixir


    【解决方案1】:

    这就是 Elixir 语法的 defined in the parseridentifier : expr 语法(大致对应于之前链接的解析器中的 kw 规则)仅在列表文字的末尾被接受。

    【讨论】:

    • @Bala 要存档,如果您想在第二个示例中尝试,您可以使用++ 运算符:iex(11)> [one: "one"] ++ [1] #=> [{:one, "one"}, 1] 或直接使用正确的语法{:one, "one"} 编写您的元组。混合不同的“神奇”语法拼写使任何解析器都很难猜出你真正想要什么;-)
    • 顺便说一句:在这种情况下,还建议查看“不当列表”这个主题 => stackoverflow.com/questions/1919097/…
    猜你喜欢
    • 2021-04-02
    • 2018-02-13
    • 2014-03-15
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    相关资源
    最近更新 更多