expandoとは何? わかりやすく解説 Weblio辞書 (original) (raw)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/21 23:55 UTC 版)
Groovyは未実装のフィールドの参照と代入、未実装のメソッドの起動をキャッチしGroovyObjectのメソッドを起動する。 GroovyObject#getProperty(String name)GroovyObject#setProperty(String name, Object value)GroovyObject#invokeMethod(String name, Object arguments) 以下、Expando を使用した例である。 def obj = new Expando()obj.greetingMessage = "Hello World"obj.greet = { println greetingMessage }obj.greet()obj.message = "foo"println obj.message また、連想配列を使用しても、似た構文が可能である。thisの意味が変わる。 def obj = [:]obj.greetingMessage = "Hello World"obj.greet = { println obj.greetingMessage }obj.greet()obj.message = "foo"println obj.message
※この「Expando」の解説は、「Groovy」の解説の一部です。
「Expando」を含む「Groovy」の記事については、「Groovy」の概要を参照ください。