King 14:34:07
请教一下以下函数,该函数是尾递归吗?
all(Pred, [Hd|Tail]) ->
Pred(Hd) andalso all(Pred, Tail);
all(_, []) ->
true.
Cobain 14:34:01
不是啊
King 14:35:02
为什么?
King 14:35:30
那以下这个呢?
all(Pred, [Hd|Tail]) ->
case Pred(Hd) of
false -> false;
true -> all(Pred, Tail)
end;
all(_, []) ->
true.
Cobain 14:34:53
yes
King 14:35:59
那为什么前一个不是呢?
Cobain 14:35:38
andalso 右面的每次都在累计 并没有计算出结果呢
King 14:36:56
其实这道题的亮点确实是andalso
King 14:37:18
其实上面两个函数都是尾递归
深圳---西公子 14:37:27
为啥要出题?
King 14:37:50
lists:sum([X || X <- lists:seq(1, 999), X rem 5 =:= 0 orelse X rem 3 =:= 0]).?????
因为这个
King 14:37:58
里面的orelse
Cobain 14:37:05
错了
Cobain 14:37:12
都是尾递归
Cobain 14:37:19
真还没注意andalso
King 14:38:29
E1 andalso E2
已相当于
case E1 of
false -> false;
true -> case E2 of
false -> false;
true -> true
end
end
Cobain 14:37:41
呵呵呵
King 14:38:44
而E1 orelse E2
就相当于
case E1 of
true -> true
false -> case E2 of
true -> true
false -> false
end
end
Cobain 14:37:53
你这题不错~~~
King 14:39:05
不是我写的啦
King 14:39:07
是EEP写的
Cobain 14:38:28
猛一眼看上去 很容易忽略那个细节
King 14:39:24
这些也算是要注意的小细节吧
Cobain 14:39:12
你刚才一说andalso 我一下就傻了
King 14:40:16
^^
Cobain 14:39:26
呵呵呵 好题 赞一个
King 14:40:30
是好EEP http://www.erlang.org/eeps/eep-0026.html
请教一下以下函数,该函数是尾递归吗?
all(Pred, [Hd|Tail]) ->
Pred(Hd) andalso all(Pred, Tail);
all(_, []) ->
true.
Cobain 14:34:01
不是啊
King 14:35:02
为什么?
King 14:35:30
那以下这个呢?
all(Pred, [Hd|Tail]) ->
case Pred(Hd) of
false -> false;
true -> all(Pred, Tail)
end;
all(_, []) ->
true.
Cobain 14:34:53
yes
King 14:35:59
那为什么前一个不是呢?
Cobain 14:35:38
andalso 右面的每次都在累计 并没有计算出结果呢
King 14:36:56
其实这道题的亮点确实是andalso
King 14:37:18
其实上面两个函数都是尾递归
深圳---西公子 14:37:27
为啥要出题?
King 14:37:50
lists:sum([X || X <- lists:seq(1, 999), X rem 5 =:= 0 orelse X rem 3 =:= 0]).?????
因为这个
King 14:37:58
里面的orelse
Cobain 14:37:05
错了
Cobain 14:37:12
都是尾递归
Cobain 14:37:19
真还没注意andalso
King 14:38:29
E1 andalso E2
已相当于
case E1 of
false -> false;
true -> case E2 of
false -> false;
true -> true
end
end
Cobain 14:37:41
呵呵呵
King 14:38:44
而E1 orelse E2
就相当于
case E1 of
true -> true
false -> case E2 of
true -> true
false -> false
end
end
Cobain 14:37:53
你这题不错~~~
King 14:39:05
不是我写的啦
King 14:39:07
是EEP写的
Cobain 14:38:28
猛一眼看上去 很容易忽略那个细节
King 14:39:24
这些也算是要注意的小细节吧
Cobain 14:39:12
你刚才一说andalso 我一下就傻了
King 14:40:16
^^
Cobain 14:39:26
呵呵呵 好题 赞一个
King 14:40:30
是好EEP http://www.erlang.org/eeps/eep-0026.html