f(var)仅适用于shell会话?

时间:2013-01-23 20:57:57

标签: erlang

我需要在循环中重置一些变量以便分配新值(比如查找子字符串的索引)我不能重复使用相同的var所以我必须取消设置它并且据我所知f( var)只适用于shell?

所以在脚本中没有办法做到这一点吗?

1 个答案:

答案 0 :(得分:8)

f()是一个仅限shell的命令。

Erlang作为一种语言使用不可变变量,因此不允许在代码本身内重置变量。建议是对递归,列表推导,映射或折叠感到满意,以便完成Erlang中程序意义上不存在的“循环”。

如果必须依赖于变量状态,那么最接近可变变量的是流程字典:get/1put/2。除非有充分理由使用它们,否则通常不鼓励这些。