Scalaのyieldは上のような例で言うと、あるホルダーの全ファイルから条件に合ったfileを探して、それを新たにfileとするようです。あるサイトにはyieldは一時的な変数名を省略できるとありました。Kotlinにはyieldの例はありましたが、どうもそれとは違う様でした。なので一時的にfile名を保存するfileListを作って、最後にそれをruturnしてみました。前出の例から変更してやってみました。該当ファイルの該当行をprintしてから最後にファイル名をprintするということになりましたが、その逆も可能かもしれません。但し、print対象の行をListに加えていく感じですかね。
下は実行例です。拡張子が.scalaで50文字以上の行を該当のホルダーから選んでprintしてます。
上の図でprocessLineはprocessFileのローカル関数で良いですよね。processFileに取り込んでみました。が、本来ならprocessLineの引数を省略できそうでしたが、うまく出来ませんでした。privateキーワードは取らないとエラーです。