Kotlin —轻松创建自己的DSL的教程

Terdapat banyak sekali fitur-迪特·科特林·杨·比萨·卡里安·菲尔图尔探索 。 Salah satu hal keren yang bisa dilakukan adalah membuat / mendesain sendiri DSL。 Sehingga 开发人员 bisa lebih fokus untuk membuat 代码 yang lebih mudah dibaca。

维基百科 tang apa itu DSL adalah:

特定领域语言DSL )是专用于特定应用程序域的计算机语言。 这与通用语言(GPL)相反,后者广泛适用于各个领域。

Seperti penjelasan diatas,pada dasarnya DSL,adalah bahasa yang digunakan pada satu bagian tertentu dari suatu aplikasi和tak seperti GPL(contohnya:Kotlin atau Java)。

Sebenernya kenapa kita harus buat DSL,apa ungungnya吗?

Saat kita bicara tentang membuat DSL di Kotlin,sebenernya yang kita bicarakan adalah cara membuat DSL内部untuk mempermudah penggunaan Kotlin itu sendiri。 Seperti memasukkan 用于循环 didalam DSL kita。

Kita akan membuat DSL sederhana seperti dibawah ini, perlu dicatat bahwa hasil akhir yang kita inginkan adalah seperti dibawah ini:

代码 diatas sudah bisa menjelaskan apa isi dan maksud dari function tersebut。 玛丽·基塔·布特(Mari kita buat) 分步介绍 Pertama kita harus buat模型-模型nya seperti ini:

模型untuk 电影数据。

dan model untuk 详细介绍了电影数据。

Sekarang kita perlu membuat khusus terpisah dari 模型类 untuk penggunaan DSL。 Kita buat 构造函数 untuk模型Movies kita。 Jika dilihat seperti MainDslActivity.kt,电影类 dideklarasikan didalam {…}Codeblock itu sendiri sebetulnya mendefinisikan Lambda 。 Sekarang kita akan membuat 电影具有 untuk DSL pertama kita 功能

卡拉·佩姆吉吉兰妮·塞巴盖·贝瑞克特:

Karena lambda hanya bisa mengembalikan的一个论点是 ,itulah mengapa didalamnya harus mengimplementasiasi it itihati variable yang ingin dipanggil。 萨塔·梅格吉尔(saman memanggil) 变数 ,伊图拉·拉姆达斯(laituda Lambdas) 和接收器

Supaya Function Kita Bisa Menggunakan 接收器 Kita Ubah 电影Function Kita Menjadi Seperti Ini:

Deng begitu kita bisa menghapus it dan mengubah pemanggilan function movie kita seperti ini:

哇,哇,哇哈哈哈哈😀

Movies Object的属性 sama seperti sebelumnya,perbedaannya kita buat detailMovies Object的属性 。 主题: Kotlin扩展功能

塞珀蒂·杨(Diperti yang dimention)达里·哈拉曼(dari halaman)https://kotlinlang.org/docs/reference/extensions.html。

Kotlin提供了使用新功能扩展类的能力,而不必继承该类或使用任何类型的设计模式(例如Decorator)。

扩展函数成员kemampuan untuk menambah 函数 kedalam sebuah tanpa harus mengakses tersebut。 太酷了! 🙂

Berikut adalah 功能 akhir dari 电影DSL kita:

Kita tambahkan detailMovies功能 kedalam 电影 对象 yang bisa menerima Lambda DetailMovies sebagai 接收器 。 Hasil akhir dari DSL kita adalah:

Sekian penjelasan tentang bagaimana penggunaan DSL di Kotlin。 Semoga artikel ini bisa mempermudah kalian dalam memahami DSL Didalam Kotlin。

下次见。 🙂