有了dsl之后,任何人都可以是程序员,框架的设计师可以包装出来非常容易理解上手而零难度的框架,招进来一般程序员写小业务逻辑就能满足工作需求。
Gril.kt
data class Gril(var name:String ,var age:Int,var height:Int,var address:String)
var 非诚勿扰数据库 = listOf<Gril>(
Gril("依儿",18,168,"山东"),
Gril("笑笑",19,175,"河南"),
Gril("小百合",17,155,"福建"),
Gril("michel",22,148,"广东"),
Gril("猫咪",28,159,"广西"),
Gril("玲儿",23,169,"广东"),
Gril("环环",25,172,"安徽"),
Gril("胖嘟嘟",32,180,"河北"),
Gril("乔乔",35,180,"广东"),
Gril("小可爱",27,150,"江西"),
Gril("一生有你",22,163,"山东"),
Gril("敏儿",28,155,"黑龙江"),
Gril("月儿",25,178,"吉林"),
Gril("花儿",21,183,"山东"),
Gril("s小糖",49,190,"新疆"),
Gril("悦悦",19,160,"广西"),
Gril("小可爱",29,158,"广东"),
Gril("紫琪",49,149,"新疆"),
Gril("糖心",26, 165, "甘肃"),
Gril("棒棒糖",23, 172, "浙江"),
Gril("猪猪侠",18, 173, "山东"),
Gril("喵喵",27, 164, "河南"),
Gril("安琦",19, 159, "河北"),
Gril("叶子",20, 160, "广东")
)
//infix 中缀表达式
//扩展函数
infix fun List<Gril> .查找嫩妹子年龄小于(age:Int){
filter {
it.age<age
}.forEach(::println)
}
infix fun List<Gril> .查找老妹子年龄大于(age:Int){
filter {
it.age>age
}.forEach(::println)
}
infix fun List<Gril> .查找妹子来自(address: String){
filter {
it.address == address
}.forEach(::println)
}
舞台.kt
fun main(args:Array<String>) {
// 非诚勿扰数据库.查找嫩妹子年龄小于(18)
//用了中缀表达式后,可以用空格
非诚勿扰数据库 查找嫩妹子年龄小于 20
非诚勿扰数据库 查找老妹子年龄大于 48
非诚勿扰数据库 查找妹子来自 "山东"
}
本文介绍了如何运用Kotlin的DSL特性来创建一个易于理解和使用的非诚勿扰相亲平台项目。通过DSL,可以使编程变得更加直观,使得普通程序员也能轻松处理业务逻辑。文中提到了两个关键文件:Gril.kt和舞台.kt。

被折叠的 条评论
为什么被折叠?



