我需要在循环中重置一些变量以便分配新值(比如查找子字符串的索引)我不能重复使用相同的var所以我必须取消设置它并且据我所知f( var)只适用于shell?
所以在脚本中没有办法做到这一点吗?
答案 0 :(得分:8)
f()
是一个仅限shell的命令。
Erlang作为一种语言使用不可变变量,因此不允许在代码本身内重置变量。建议是对递归,列表推导,映射或折叠感到满意,以便完成Erlang中程序意义上不存在的“循环”。
如果必须依赖于变量状态,那么最接近可变变量的是流程字典:get/1
和put/2
。除非有充分理由使用它们,否则通常不鼓励这些。