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

ace*_*007 1 erlang

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

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

cho*_*ops 8

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

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

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