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