【发布时间】:2014-10-27 10:44:02
【问题描述】:
给定模块
-module(p1).
-export([f2/2]).
f2([A, A | B]) -> {A, B};
f2([A, B | _]) -> {A, B};
f2([A]) -> A;
f2(_) -> no_match.
我被要求尝试输入值
p1:f2([1,1,[1,1]]).
我的回答是这个输入值与 f2 的第一个函数子句匹配,因此给了我们结果:
{1,[1,1]}
但是根据给定的答题卡,答案是
{1,[[1,1]]}
我无法完全理解为什么我们会在列表中获得列表,而不是在答案中获得列表。非常感谢您对此的解释,谢谢。
【问题讨论】:
-
顺便说一句,您的代码不可编译。
-
您正在导出
f2/2并实施f2/1。