2010-04-22 10 views
-1

함수가 있으므로 객체를 반환하는 funcA이라고합니다. 그 물체를 funcB에 전달하고 싶습니다. 내가 할 수 있을까?함수 인수의 함수 호출

funcB(funcA()); 

그래서 funcA()이 먼저 호출하고 그 결과를 funcB()에 전달됩니다?

+8

다른 사람이 질문을 게시하는 것보다 테스트가 더 빠를 것이라고 생각하십니까? –

+0

내가 도대체 ​​무슨 생각을 한거야? – Yisroel

답변

3

이 될 것입니다. 도움이된다면, Yisroel은 반환 된 객체가 내부에서 함수를 "대체"한다고 생각할 수 있습니다. 따라서 funcA()가 실행 된 후 반환 된 값으로 "대체"되고 funcB()로 전달됩니다.

일반적으로 3 가지 레벨 이상으로 이와 같은 중첩 기능을 수행하고 싶지는 않습니다. 읽을 수 없게되기 시작하면 변수에 객체를 저장하고이 변수를 다음 함수에 전달하면 코드를 훨씬 쉽게 읽을 수 있습니다.

다른 사람들이 지적했듯이 대답은 예입니다.

+0

실제로이 코드를 작성하는 것은 코드 냄새입니다. 이전에이 작업을 수행 했음에도 불구하고이 작업을 수행하지 말고 3 단계 (?!)로 혼자서 사용하지 말 것을 권장합니다. –

+1

가끔은 읽을 수 있습니다. 즉 Python 3 :'print (sum (len (getLines())) ' –

+0

Darko, 왜 이것을 추천할까요? – Yisroel

4

예, 가능합니다.

0

아무런 문제가 없는데 샘플을 사용해 보셨습니까?

정상적으로 작동합니다.

특정 문제가 발생한 경우 게시하십시오.

당신이 funB에 대한 매개 변수로 funcA을 통과하려면

는 당신은 funcB (funcA) 등 funcB

0

예를 호출해야합니다. 함수에 대한 매개 변수는 표현식 값이 함수에 전달되기 전에 평가되는 표현식입니다. 표현식은 물론 함수 호출 일 수 있습니다.

0

예, 원하는대로 작동합니다. funcB(funcA())funcA()를 호출하고이 기능 funcB()funcA을 통과 것이라고 funcB()

아마 당신에 관한 한 그 결과를 전달? 그 문법은 funcB(funcA)