본문 바로가기

00. Functional Programming/erlang

erlang에서 _Var와 Var의 차이

erlang의 많은 예제 코드를 보면 _Var형식의 변수명들이 있습니다. 사실 저는 _Var형식의 변수명을 안좋아 해서.. 그냥 왜 저렇게 하지? 라는 생각이 있었는데.. 사실 이유가 있었더라고요...

매우 기초적이라서 포스팅 쓰기도 거시기 한데, 일단 저처럼 모르는 사람이 있을수도 있으니까..

일단 '_'는 다들 아실껍니다. Scala도 그렇지만 wildcard 변수 명입니다. 만약 _라고 하면, 이 변수는 Pattern Matching이나, 기타 다른 이유 때문에 있는 것이지 절대 다시 사용하지 않는다는 뜻 입니다.

그렇다면 _Var는 어떤 것일까요? 보통 erlang Compiler는 함수에서 사용되지 않는 변수가 있으면 다음과 같은 Warning을 발생시킵니다. 


1> c(ex1).

ex1.erl:22: Warning: variable 'Hi' is unused

{ok,ex1}


그러나, _Var로 사용하게 되면, Waning을 발생 시키지 않습니다. 그러나, 변수 사용은 여전히 가능합니다.


그냥.. 그렇다고요..