challenge メソッド名一覧の表示

リフレクション系のお題の続編です。

「ある与えられたオブジェクトtargetのメソッドのうち、 "test_"で始まるものをすべて呼びだす」というコードを書いてください。 引数に関しては都合のいいように仮定して構いません(全部0個、など)。

メソッドという概念がない言語の場合は、 「複数の関数への参照を持っているようなオブジェクト(たとえばパッケージとかモジュールとか)から"test_"で始まる関数をすべて呼び出す」と読み替えても構いません。

Posted feedbacks - Pnuts


	
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
class Foo {
  test_foo(){println("test_foo")}
  test_foo2(){println("test_foo2")}
  test_foo3(){println("test_foo3")}
  public_foo(){println("public_foo")}
}

f = Foo()
for(m:f.class.methods[{m->m.name.startsWith("test_")}]){
  m.invoke(f, [])
}

Index

Feed

Other

Link

Pathtraq

loading...