【问题标题】:Check if list of lists in guard clause for Elixir检查 Elixir 保护条款中的列表列表
【发布时间】:2016-07-12 17:29:50
【问题描述】:

检查参数是保护子句中的列表列表还是键值对列表的最佳方法是什么?

我想出的解决办法就是抓着头做个检查,但我觉得肯定有更好的办法。

def stuff(items) when is_list(hd(items)) do
    something
end

【问题讨论】:

  • 这不会检查items 是否是列表的列表,它只检查第一个值。即使items[["a", "list"], "string", 123],它也会通过

标签: elixir


【解决方案1】:

但我觉得一定有更好的方法

是的,有。像这样使用模式匹配:

def stuff([head | _]) when is_list(head) do
  something
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    相关资源
    最近更新 更多