Scope Function 활용 예시
Scope Function 활용 예시
1. Let¶
2. With¶
1. 함수에 바로 달아서 사용하기¶
- 코테에서 자주 활용되는 템플릿
- IntelliJ 의 implicit receiver hint 를 통해 this 가 BufferedReader 타입이 됨을 확인 할 수 있다.
* 다른 방식으로는 use 를 활용하는 방법이 있다. 이경우 br 을 바로 close 해 주어 더 좋은것 같다.
2. toEntity/toDto¶
this 를 생략 할 수 있어 필드가 많아도 코드가 간결해진다.
3. Run¶
4. Apply¶
1. Test Fixture 생성시¶
생성자에 존재 하지 않는 값을 바로 apply 를 활용한 method chaining 으로 세팅 한다.
fun createPerson(
name: String,
age: Int,
hobby: String,
) : Person {
return Person(
name = name,
age = age,
).apply {
this.hobby = hobby
}
}
5. Also¶
1. 생성자에 달아서 바로 후처리 하기¶
- 채팅 방 생성 후 바로 리포지 토리에 저장하고 관련 이벤트 발행
채팅 방 생성
override fun createChatRoom(name: String): ChatRoom {
return ChatRoom(name).also {
chatRoomRepository.save(it)
eventPublisher.publishEvent(ChatRoomCreatedEvent(it.roomId, it.name))
}
}
Last update:
February 26, 2023
Created: February 4, 2023
Created: February 4, 2023