我有一個interface
看起來像這樣:如何在Kotlin中構建兼容的參數/結果類型的函數?
interface FontRegionTransformer<R> {
fun transform(region: R, textCharacter: TextCharacter): R
}
我不範疇論專家,但as I have learned previously這種結構是幺(?是吧),我可以將任意數量的功能,這取R
並返回R
在一起。
這就是我現在所擁有的:
var image = source.getSubimage(meta.x * width, meta.y * height, width, height)
regionTransformers.forEach {
image = it.transform(image, textCharacter)
}
這工作,但我有一個問題:我如何結合FontRegionTransformer
s的List
到一個單一的功能?我可以在不添加compose
函數的情況下執行此操作嗎?我嘗試了reduce
,但沒有點擊。
澄清:我想實現的是存儲在regionTransformers
的功能組合成一個單一的功能,所以不是循環在這裏:
var image = source.getSubimage(meta.x * width, meta.y * height, width, height)
regionTransformers.forEach {
image = it.transform(image, textCharacter)
}
我想有這樣的事情:
var image = source.getSubimage(meta.x * width, meta.y * height, width, height)
return combinedTransformers.invoke(image)
你是什麼意思「合併'FontRegionTransformer's的'List'到一個單一的功能」是什麼意思?您能否指定您的預期輸入和輸出是什麼? – marstran
我編輯了我的問題。 –