nML 멋진 언어인것 같아서 nML 에 관한 문서를 읽고 있슴다. 근데
fn 이라는게 잘 이해가 안됨다.
# fn x => x + 1 ;; - int -> int =
이렇게 나오는데요.
'fn' 과 '=>' 의 용도를 모르겟슴다.
문서에는 함수라고 나오는데 함수 처럼 쓰려고 여러 모로 시도 해 봤는데 에러가 나네요.
잘 아시는분 설명 부탁 드림다 ^^
nML은 공부해 본적이 없고 OCaml만 허접하게 공부하고 있는데 아마 다음과 같은 것이 아닐까 생각합니다.
파이썬 같은 언어에서는 (lambda x x + 1)
...라고 쓸겁니다.
fn은 아마 lambda나 fun처럼 이름 없는 함수을 정의할 때 사용하는걸겁니 다.
def f(x) return x + 1 f(9)
와 같은 구문을
(lambda x x + 1)(9)
함수를 다른 값과 같이 취급하면 편리하다는. (예에서는 전혀 나타내지 못하고 있음-_-;;;)
fn은 그대로 익명함수 시작을 나타내는 키워드 =>은 인자 목록과 식을 나누는 역활이겠죠.
OCaml에서는 (fun x -> x + 1) 3;; 와 같이 함수처럼 사용할 수 있습니다.
아마 nML에서도 (fn x => x + 1) 3;; 이런 식으로 사용할 수 있지 않을까요?
님의 답변을 참고해서 아래와 같이 테스트 했는데 실행이 잘 됨다 이제 용도를 알것 같슴다.
답변 감사 드림다 ^^
# val z = fn x => x + 1;; val z int -> int = # z 2;; val it int = 3 #
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
Re: nML 에서 fn 키워드의 용도는 무었인가요?
nML은 공부해 본적이 없고 OCaml만 허접하게 공부하고 있는데
아마 다음과 같은 것이 아닐까 생각합니다.
# fn x => x + 1 ;;
- int -> int =
파이썬 같은 언어에서는
(lambda x x + 1)
...라고 쓸겁니다.
fn은 아마 lambda나 fun처럼 이름 없는 함수을 정의할 때 사용하는걸겁니
다.
def f(x)
return x + 1
f(9)
와 같은 구문을
(lambda x x + 1)(9)
함수를 다른 값과 같이 취급하면 편리하다는.
(예에서는 전혀 나타내지 못하고 있음-_-;;;)
fn은 그대로 익명함수 시작을 나타내는 키워드
=>은 인자 목록과 식을 나누는 역활이겠죠.
OCaml에서는
(fun x -> x + 1) 3;;
와 같이 함수처럼 사용할 수 있습니다.
아마 nML에서도
(fn x => x + 1) 3;;
이런 식으로 사용할 수 있지 않을까요?
답변 감사 드림다 ^^ (테스트 해 봣슴다)
님의 답변을 참고해서
아래와 같이 테스트 했는데 실행이 잘 됨다
이제 용도를 알것 같슴다.
답변 감사 드림다 ^^
# val z = fn x => x + 1;;
val z int -> int =
# z 2;;
val it int = 3
#
댓글 달기