저는 웹 배경에서 Erlang으로 시작하기 때문에 몇 가지 매우 기본적인 튜토리얼을 살펴 보겠습니다. 그러나, 나는 예상되는 결과를 얻을 수없는변수를 바인딩하지 않습니까?
-module(calc).
-export([test/0]).
test() ->
X = io:get_line('X: ').
: 나는 다음과 같은 파일 this forum post을 기반으로 한
1> c(calc).
calc.erl:7: Warning: variable 'X' is unused
{ok,calc}
2> calc:test().
X: test
"test\n"
3> X.
* 1: variable 'X' is unbound
해서는 안 사용자 입력에 X = io:get_line('X: ').
바인드 X?
두 번째 코드 블록의'test \ n "'줄은 X의 값을 반환하는 test()이며, 그 시점에서 프로그램 실행이 중단되므로 X는 더 이상 3>에서 오류가 없어진다. –
@Phillip'test()'는'X'의 값을 반환하지만 변수 이름'X'는 쉘에서 사용할 수 없습니다. 이것은'test()'에서만 사용할 수 있습니다. 그래서 3에 에러가 생기는 것입니다. 2에서'X = calc : test()'를 할 필요가 있습니다. – johlo