[코쿠로 3] Kotlin에서 클로저 & Delegate(s) 입문
0) 서
마음껏 "Kotlin으로 스마트폰 크로스 플랫폼 개발"에 입문 중.
(=> 타이틀로서는, 길고 노이지인 생각이 들기 때문에, 이후, "것 크로").
현재, Kotlin용 AndroidStudio 환경 구축 만.
목표, Kotlin on RoboVM@iOS. cf. Jetbrain 사 roboVM 블로그
우선은, 정보가 web에 한정되는 Kotlin에 서둘러 돌아서, 익숙해져 간다. 오늘은, 같은 JVM 언어 동료이며, AndroidStudio등의 빌드 툴 Gradle의 기술 언어인 Groovy와의 비교로, Kotlin의 클로저&Delegate를 입문.
1) 클로저
클로저의 사용 장소가 신경이 쓰일 때는.
Kotlin도 Groovy도 Javascript도 비슷한 클로저. 필요에 따라 클로저 입문 기사를 참조하면서 클로저는 어떤 때에 사용합니까?
개인적으로는, ① 야츠케에서 기능 풍부한(풍부한) 함수를 만드는 경우인가, ②편리하고 자유도가 높은 함수를 만드는 경우인가, 그 외인가, 라고 하는 정도로 이해.
Kotlin
지금 바람의 언어로 클로저를 사용할 수 있는 것은 당연, 이라고 하는 것인지, 유지의 프로그래밍 언어 Kotlin 설명 그럼,
"Kotlin은 클로저 (Closure)를 다룰 수 있습니다. 즉, 로컬 함수 등이 그 외부 함수 내에서 선언 된 변수의 값을 읽고 쓸 수 있습니다."라고 똑같지 않습니다.
Kotlin에서는 함수에는 보통의 함수 fun x(){...}와 리터럴 함수 val x={...}가 있어 약간 의미가 다르다.
IntelliJ EAP15를 사용해 보면, 양자 모두 문제없이 클로저를 사용할 수 있었다(함수 밖의 변수 n의 값을 변경할 수 있다).
문자열을 다루는 것도 당연합니다.
Groovy Groovy는 필요에 따라 배울 방침이므로 칠라보기로 끝납니다 : Groovy의 Closure를 사용해보십시오.
네, 루비처럼 쓸 수 있다는 것이군요.
2) Delegate(s)
Kotlin과 Groovy 사이의 의미가 다릅니다 .. 패턴.
위탁·위임한다는 의미의 동사 delegate. 영어로서는 빅워드의 종류로, 프로그래밍의 세계에서는, 구현 의존이 되기 쉬운 UI 라이브러리 등에서 자주 사용되는 기간.
Kotlin에서는, Class의 프로퍼티를 초기화하고 싶지 않을 때(일단의 값으로서 null를 넣는 것이 싫은 때 등)에, Delegated Propterty가 사용된다. null을 허용하는 Java의 세계와 Null을 배제하는 Kotlin의 세계 사이를, lazy인 Delegated Propterty가 취하는 느낌일 것이다.
Groovy에서는, 클로저의 스코프 파악의 제어 등에, 키워드 delegate가 이용되고 있다.
참고 [Groovy] 클로저의 this, owner, delegate에 대해서
Kotlin
소리 내어 읽고 싶은 Kotlin 의 후반을 보기에 여러가지, Delegates 패턴이 있는 것 같다. 자세한 내용은 나중에 Kotlin에서 Java UI 라이브러리를 만질 때 탐구하기로 한다.
우선, 형명 by Delegates.notNull이라는 패턴을 실행해 본다. 이 근처의 표현의 보완은 IDE 편리
Groovy
클로저 안에는 암시적으로 사용할 수 있는 변수 delegate가 있다. Gradle에서의 DSL에도 사용되고 있다. build.gradle을 쓰고 쓰는 경우에는 이해해 두어야 할 것이다. 참고 "그루비를 모르는 사람을위한 build.gradle 읽기 및 쓰기 시작" 이 부분 .
그리고, RxJava/RxAndroid로 FRP등의 이야기가 되면, Groovy의 delegate들이 클로저가 보다 중요해져 오는 거죠.
참고 GroovyOnAndroid나 RxJava를 하고 싶은 사람을 위한, Groovy의 클로저의 쓰는 방법・사용법 메모
소감. 그리고 Kotlin 책!
AndroidStudio 사용 관계로, Groovy와의 대비로 Kotlin을 조사했지만, 역시, 언어로서의 역사가 있는 Groovy에 비해, Kotlin 정보는 적다. . Kotlin 책은 없는 것이고···라고 생각하고 있었는데, 선행 공개판(MEAP)으로서, "Kotlin in Action" 가 이미 4장까지, 나와 있는 것을 발견!・・11장이, 「KOTLIN FOR ANDROID」.
우선은, "Kotlin in Action"의 1장을 읽어 본다.
Reference
이 문제에 관하여([코쿠로 3] Kotlin에서 클로저 & Delegate(s) 입문), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/e-a-st/items/795b70e46063fbb401c5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
클로저의 사용 장소가 신경이 쓰일 때는.
Kotlin도 Groovy도 Javascript도 비슷한 클로저. 필요에 따라 클로저 입문 기사를 참조하면서 클로저는 어떤 때에 사용합니까?
개인적으로는, ① 야츠케에서 기능 풍부한(풍부한) 함수를 만드는 경우인가, ②편리하고 자유도가 높은 함수를 만드는 경우인가, 그 외인가, 라고 하는 정도로 이해.
Kotlin
지금 바람의 언어로 클로저를 사용할 수 있는 것은 당연, 이라고 하는 것인지, 유지의 프로그래밍 언어 Kotlin 설명 그럼,
"Kotlin은 클로저 (Closure)를 다룰 수 있습니다. 즉, 로컬 함수 등이 그 외부 함수 내에서 선언 된 변수의 값을 읽고 쓸 수 있습니다."라고 똑같지 않습니다.
Kotlin에서는 함수에는 보통의 함수 fun x(){...}와 리터럴 함수 val x={...}가 있어 약간 의미가 다르다.
IntelliJ EAP15를 사용해 보면, 양자 모두 문제없이 클로저를 사용할 수 있었다(함수 밖의 변수 n의 값을 변경할 수 있다).
문자열을 다루는 것도 당연합니다.
Groovy Groovy는 필요에 따라 배울 방침이므로 칠라보기로 끝납니다 : Groovy의 Closure를 사용해보십시오.
네, 루비처럼 쓸 수 있다는 것이군요.
2) Delegate(s)
Kotlin과 Groovy 사이의 의미가 다릅니다 .. 패턴.
위탁·위임한다는 의미의 동사 delegate. 영어로서는 빅워드의 종류로, 프로그래밍의 세계에서는, 구현 의존이 되기 쉬운 UI 라이브러리 등에서 자주 사용되는 기간.
Kotlin에서는, Class의 프로퍼티를 초기화하고 싶지 않을 때(일단의 값으로서 null를 넣는 것이 싫은 때 등)에, Delegated Propterty가 사용된다. null을 허용하는 Java의 세계와 Null을 배제하는 Kotlin의 세계 사이를, lazy인 Delegated Propterty가 취하는 느낌일 것이다.
Groovy에서는, 클로저의 스코프 파악의 제어 등에, 키워드 delegate가 이용되고 있다.
참고 [Groovy] 클로저의 this, owner, delegate에 대해서
Kotlin
소리 내어 읽고 싶은 Kotlin 의 후반을 보기에 여러가지, Delegates 패턴이 있는 것 같다. 자세한 내용은 나중에 Kotlin에서 Java UI 라이브러리를 만질 때 탐구하기로 한다.
우선, 형명 by Delegates.notNull이라는 패턴을 실행해 본다. 이 근처의 표현의 보완은 IDE 편리
Groovy
클로저 안에는 암시적으로 사용할 수 있는 변수 delegate가 있다. Gradle에서의 DSL에도 사용되고 있다. build.gradle을 쓰고 쓰는 경우에는 이해해 두어야 할 것이다. 참고 "그루비를 모르는 사람을위한 build.gradle 읽기 및 쓰기 시작" 이 부분 .
그리고, RxJava/RxAndroid로 FRP등의 이야기가 되면, Groovy의 delegate들이 클로저가 보다 중요해져 오는 거죠.
참고 GroovyOnAndroid나 RxJava를 하고 싶은 사람을 위한, Groovy의 클로저의 쓰는 방법・사용법 메모
소감. 그리고 Kotlin 책!
AndroidStudio 사용 관계로, Groovy와의 대비로 Kotlin을 조사했지만, 역시, 언어로서의 역사가 있는 Groovy에 비해, Kotlin 정보는 적다. . Kotlin 책은 없는 것이고···라고 생각하고 있었는데, 선행 공개판(MEAP)으로서, "Kotlin in Action" 가 이미 4장까지, 나와 있는 것을 발견!・・11장이, 「KOTLIN FOR ANDROID」.
우선은, "Kotlin in Action"의 1장을 읽어 본다.
Reference
이 문제에 관하여([코쿠로 3] Kotlin에서 클로저 & Delegate(s) 입문), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/e-a-st/items/795b70e46063fbb401c5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
AndroidStudio 사용 관계로, Groovy와의 대비로 Kotlin을 조사했지만, 역시, 언어로서의 역사가 있는 Groovy에 비해, Kotlin 정보는 적다. . Kotlin 책은 없는 것이고···라고 생각하고 있었는데, 선행 공개판(MEAP)으로서, "Kotlin in Action" 가 이미 4장까지, 나와 있는 것을 발견!・・11장이, 「KOTLIN FOR ANDROID」.
우선은, "Kotlin in Action"의 1장을 읽어 본다.
Reference
이 문제에 관하여([코쿠로 3] Kotlin에서 클로저 & Delegate(s) 입문), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/e-a-st/items/795b70e46063fbb401c5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)