私はこのリンクhttps://kotlin.link/articles/DSL-builder-in-Kotlin.htmlを読んで、Kotlinのビルダー実装を理解していました。私はBuilderクラス内のメソッドを理解していませんでした。メソッドname()
は、何も受け取らずにStringを返す引数としてExtension Functionを受け取ります。また、発信者はname { "ABC" }
と呼びます。呼び出し元がname
メソッドにStringを渡している場合、Stringを返すExtensionメソッドにどのように変換されますか?Kotlinの受信機で関数リテラルの説明
受信者の関数リテラルのKotlinドキュメントに従ってみましたが、すべてがUnit
を返すサンプルか、DSLビルダーを参照するサンプルを持っていました。それを理解するためにもグーグルで試してみたが、そのコンセプトを掴むことはできなかった。