呼んだのは誰?
Posted feedbacks - C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | using System;
using System.Diagnostics;
class Program
{
static void Main()
{
Console.WriteLine("bar #=> \"{0}\"", bar());
Console.WriteLine("baz #=> \"{0}\"", baz());
}
static string bar() { return foo(); }
static string baz() { return foo(); }
static string foo()
{
return new StackTrace().GetFrame(1).GetMethod().Name;
}
}
|

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