Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Spring
- spring-kafka
- 카프카
- spring-batch
- coursera
- RabbitMQ
- confluent
- gradle
- reactive
- springboot
- Logstash
- kafka streams
- statestore
- spring-cloud-stream
- 플레이 프레임워크
- play framework
- scala
- Elasticsearch
- 한빛미디어
- schema registry
- kafkastreams
- Elk
- kafkastream
- kafka interactive query
- avo
- aws
- Slick
- enablekafkastreams
- Kafka
- scala 2.10
Archives
- Today
- Total
b
코틀린의 extension와 메소드 체이닝 잡담 본문
코틀린 1.0 으로 프로젝트를 진행 한 후 1년만에 다시 코틀린을 손에 잡았다.
뒤에 분이 '자바를 하려거든 코틀린'을 하세요~ 라는 노래를 부르고, 메인 프로젝트가 아니고 검증용 간단한 서비스를 필요로 했기에 부담없이 코틀린을 다시 쓰고 있는데....
역시 자바보다는 코틀린 ㅋ (개인적으로는 스칼라 >>>> 코틀린 >>>>>>>> 자바)
fun BufferedWriter.writeAndFlush(str: String) { this.write(str).let { newLine() }.let { flush() } }
자바로 했으면 메소드를 하나 만들고 Streams.writeAndFlush(bw, str) 을 했겠지만 코틀린은 뭐 저렇게 된다는..?
저 개념 자체는 http://docs.scala-lang.org/overviews/core/implicit-classes.html 로 비슷하게? 사용 했지만
https://kotlinlang.org/docs/reference/extensions.html#extensions 'Extension' 라는 단어 자체는 SWIFT에서 먼저 접하고 사용했다.
그리고 .let 은 정식 명칭이 멀까 찾아보니 못찾겠다 ㅋㅋ
참고 링크 1 : http://beust.com/weblog/2016/01/14/a-close-look-at-kotlins-let/
참고 링크 2: http://kunny.github.io/lecture/kotlin/2016/07/06/kotlin_let_apply_run_with/
Comments