将其减少为一个简单的lambda

时间:2019-06-15 07:40:19

标签: kotlin

我想通过简化为lambda来简化此代码。该界面只有一个功能。我不确定如何仅用lambda表达式替换代码的替代部分:

interface ITextWatcher {
    fun onTextChanged(text: String) {

    }
}

val textChangeHandler = object: ITextWatcher {
    override fun onTextChanged(text: String) 
         var t = text
    }
}

我正在寻找这样的东西:

val textChangeHandler = object: ITextWatcher {text ->

}

但是不会编译。

1 个答案:

答案 0 :(得分:1)

语法为import requests from bs4 import BeautifulSoup link = 'https://www.abhe.org/directory/' r = requests.get(link,headers={"user-Agent":"Mozilla/5.0"}) soup = BeautifulSoup(r.text,"lxml") for item in soup.select("h2 > a[title]"): print(item.text) ,但不适用于Kotlin中声明的接口,仅适用于Java接口(至少目前如此)。

直接使用val textChangeHandler = ITextWatcher {text -> ... }。或声明一个将一个转换为另一个的函数:

(String) -> Unit

如果需要的话。