extension Int{
func repeatition( task: () -> Void){
for _ in 0..<self{
task()
}
}
}
3.repeatition{
print("hello")
}
3.repeatition(task: print("Hello"))
두 메소드 호출하는데 왜 아래꺼는 오류 뜨는거임?
후위 클로져 문법이니까 위랑 아래 메소드 똑같은 동작 해야하는거 아님?
extension Int{
func repeatition( task: () -> Void){
for _ in 0..<self{
task()
}
}
}
3.repeatition{
print("hello")
}
3.repeatition(task: print("Hello"))
두 메소드 호출하는데 왜 아래꺼는 오류 뜨는거임?
후위 클로져 문법이니까 위랑 아래 메소드 똑같은 동작 해야하는거 아님?
아래꺼 중괄호 없이 할거면 함수 시그니쳐에 매개변수에 오토클로져 넣어야 된다
아니면 중괄호로 감싸주든가
답변 감사 내가 고민한게 맞은 건지 알려줄 수 있나요 첫번쨰 호출은 repeatition 메소드의 인자가 하나니까 후위 클로저 문법으로 print 함수를 전달한거고, 두번째 호출은 print함수의 return 을 인자로 전달해서 틀린건가요? 함수 시그니쳐 매개변수에 오토클로저 넣는다는게 어떤거죠?
아 오토클로져는 제가 찾아볼게요 핑프 ㅈㅅ
첫번째 물음표는 생각한게 맞음. 두번째 물음표는 스위프트 공식 문서에 오토클로져 찾아보셈. 저게 있으면 짧은 구문은 자동으로 람다로 만들어줌.