안양쌈디
57
2019-06-18 20:50:13
3
366

함수를 test()()()() 이런식이나 test(4).test2(5) 이런식으로 어뗗게쓰나요?


예로 함수명이 test면

test("h")("e")("l")("l")("o")

이런식으로 사용하면 hello가 출력되는 함수를 구현하는 문제를 받았는데 모르겠더라구요

재귀함수로 안되는거같고... return값을 어떻게 줘야하는지 모르겠네요

또 

add(1).add(5).sub(3)

이런식으로 사용해서 계산 하는 함수를 구현하려면 함수를 어떻게 짜야하는지 도 궁금합니다



0
0
  • 답변 3

  • 멘탈조각
    1k
    2019-06-18 21:12:35


    class Some {
        private int aInt = 0;
    
        public Some add(int i) {
            aInt += i;
            return this;
        }
    }


    1
  • 니플
    2019-06-18 21:13:33 작성 2019-06-18 21:14:41 수정됨

    자바스크립트 함수의 특성때문에 나타나는 현상입니다

    클로저와 커링을 이해하시면 좋습니다

    https://edykim.com/ko/post/writing-a-curling-currying-function-in-javascript/

    위 링크 참고바랍니다

    2
  • 안양쌈디
    57
    2019-06-19 12:40:28

    감사합니다~

    1
  • 로그인을 하시면 답변을 등록할 수 있습니다.