著作一覧 |
パス名を与える場合は、""で囲う。
system("diff -u \"#{org-path-name}\" \"#{new-path-name}\"")
じゃないと、
diff -u c:/documents and settings/foo/my documents/bar....
とかなっちゃうよ。
で、当然、c:/documents とand を比較するか、さもなきゃ引数が多過ぎるエラーとなる。
using System; public class G { static int Foo(T a, T b) where T : IComparable { return a.CompareTo(b); } static int Foo2(IComparable a, IComparable b) { return a.CompareTo(b); } public static void Main() { Console.WriteLine(Foo(1, 3)); Console.WriteLine(Foo2(1, 3)); } }
上のように書くメリットがわからないのだが。
追記:みずしまさんからのご指摘(両方のパラメータを同一の型に強制できる)に納得しました。確かにそれはメリットです。気づけませんでした。どうもありがとうございます。
#というところからIComparator(これにかかるのは匿名メソッド)やIComparable(これにかかるのはジェネリック)と、Javaと.NET Fx 2.0とかについていろいろ考察。
ジェズイットを見習え |