呼んだのは誰?
Posted feedbacks - Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class Test {
public static void main(String[] args) throws Exception {
System.out.println("bar() = " + bar());
System.out.println("bar() = " + baz());
}
public static String bar() {
return foo();
}
public static String baz() {
return foo();
}
public static String foo() {
StackTraceElement[] stackTraceElementArray = new Throwable().getStackTrace();
return stackTraceElementArray[1].getMethodName();
}
}
|


にしお
#3384()
Rating1/1=1.00
Ruby で表現すると、 以下のような「fooという関数を呼び出す関数」#bar、#bazがあるとき
このbar, bazの返り値が以下のようになるような関数fooを定義してください。このお題は匿名の「Smalltalk からの挑戦状」を元に作成しました。 確かにこの手のリフレクションの機能が言語によってどう違うのかは興味深いところです。 リフレクションを使う問題をいくつか考えてみたいと思います。 ご投稿ありがとうございました。
[ reply ]