1
Q
将子句转换为乐趣
A
回答
7
我相信你正在寻找的是一个有趣的“自我递归”。
有趣的语法不能在有趣的身体内引用自己,所以人们需要使用一种技巧,其中调用的乐趣是一个参数。这通常被称为ycombinator。
一些示例代码可能会更好地描述它:
permutator() ->
fun
([], _F) ->
[[]];
(L, F) ->
[ [H|T] || H <- L, T <- F(L--[H], F)]
end.
do_permutate(L) ->
P = permutator(),
P(L, P).
正如你可以看到这是很尴尬的。如果你只是想参考你的烫发功能,你可以使用代码:fun perms/1
。
3
我也得到了另一个类似于基督徒的答案。
5> Perms = fun(X) -> Fun = fun([],F) -> [[]]; (L,F) -> [[H|T] || H <- L, T <- F(L--[H],F)] end, Fun(X, Fun) end.
#Fun<erl_eval.6.13229925>
6> Perms("cat").
["cat","cta","act","atc","tca","tac"]
相关问题
- 1. 将子句转换为CNF
- 2. Haskell:将字符串转换为句子
- 3. 将if子句转换为可选项
- 4. 如何将单词转换为句子?
- 5. 如何将Linq Expression where子句转换为hql where子句?
- 6. PHP乐趣codeing
- 7. 小strtok()乐趣
- 8. 将句子替换为句子
- 9. 将语句转换为ES5
- 10. 将FD转换为句柄
- 11. 将SQL语句转换为休眠条件(具有count子句)
- 12. 固定的乐趣
- 13. 谜语的乐趣
- 14. AccessViolation调试乐趣
- 15. 与OpenLDAP的乐趣
- 16. 乐趣CSS花车
- 17. Match.fun错误(乐趣)
- 18. Firebase initializeApp(config);乐趣
- 19. CUDA蛮力乐趣
- 20. 将疑问句转换为命令句
- 21. 将UPDATE语句转换为SELECT语句
- 22. 在Scala中,乐趣_和乐趣之间的区别是什么
- 23. 将一个句子转换成明胶
- 24. 将varchar转换迄今在where子句
- 25. 日期列将不转换where子句
- 26. 将DropDownList值转换为Linq查询,其中子句为
- 27. GAE的乐趣:使用key_name作为PK?
- 28. 如何将这个Mongodb子句转换成mongoengine子句?
- 29. 将ProperCase转换为Title Case中的句子(而不是句子情况)
- 30. C#向F#的乐趣
这是一个带有两个子句的函数。 – Christian 2009-11-22 07:22:50