Skip to content

Instantly share code, notes, and snippets.

@toby55kij
Created October 11, 2010 02:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save toby55kij/619889 to your computer and use it in GitHub Desktop.
Save toby55kij/619889 to your computer and use it in GitHub Desktop.
// g100pon #66 Expando使用例
//テスト用メソッド
def testMethod(person) {
//引数personにはプロパティfirstName,familyNameとname()メソッドがあることを前提としている
assert person.name() == "${person.firstName} ${person.familyName}"
}
//Expandoを作成
def person = new Expando()
//プロパティを追加
person.firstName = 'John'
person.familyName = 'Smith'
//メソッドとしてクロージャを追加
person.name = {"$firstName $familyName"}
//テスト用メソッドを実行
testMethod person //テストに成功
//プロパティを変更
person.firstName = 'Kyle'
//テストを再実行
testMethod person //テストに成功
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment