タグ

ブックマーク / bleis-tift.hatenablog.com (5)

  • Quick Test Switcher 1.1 をリリースした - ぐるぐる~

    テストコードと実装コードの切り替えを支援する Visual Studio 用のアドインを作りました。 マニュアル的なもの Visual Studio Gallery のページ ソースコード コードを開いた状態で Ctrl-0 を押すと、対応するファイルがある場合にそれを開きます。 頻繁にテストコードと実装コードを切り替える TDD のお供にどうぞ。

    Quick Test Switcher 1.1 をリリースした - ぐるぐる~
    masakitk
    masakitk 2012/02/15
    これは使ってみよう
  • よくあるコーディングパターンと LINQ to Objects の対応付け - 予定は未定Blog版

    あると便利ですよね、ということで書いてみた。 よくあるコーディングパターンには yield とか使ってないです。 こっちの方がよくありそうでしょ? Select 全ての要素に何らかの処理を行いたいときに使用します。 // よくあるコーディングパターンその1 // 全ての要素を2倍するメソッド public IEnumerable<int> DoubleAll(int[] target) { var result = new int[target.Length]; for (int i = 0; i < target.Length; i++) { result[i] = target[i] * 2; } return result; } // Selectで書き直し public IEnumerable<int> DoubleAll(IEnumerable<int> target) { re

    よくあるコーディングパターンと LINQ to Objects の対応付け - 予定は未定Blog版
  • 再帰で考える - ぐるぐる~

    再帰は関数型言語を構成する重要な部品の一つです*1。 しかし、手続型言語に慣れたプログラマにとって、再帰で考えるというのは難しいものがあります。 このエントリは、そういうプログラマが再帰で考えることができるようになるために書きました。 言語としては、F# と C# を使っています (推奨は F#。C# の例は実用性が無いに等しい) が、Java プログラマでもある程度読めるでしょう。 前提条件として、これらの言語の文法は知っているものとします。 特に、C# で言う Func デリゲートを多用します。 すごい長いので、時間があるときに一気にどうぞ。 再帰以外の話もちょろちょろと出てきます。 再帰の重要性 いきなりですが、再帰はあくまで最後の手段です。 普通は再帰をカプセル化した関数を使うことになります。 通常使わないのであれば、再帰を学ぶことに意味はないのでしょうか? いいえ、それでも再帰を

    再帰で考える - ぐるぐる~
  • Excel-DNA で XLL をつくる (その17) を F# でやってみた - ぐるぐる~

    今自分の中で Excel-DNA がとてもアツいです。 で、Excel-DNA のことを非常にわかりやすくまとめている supermab さんという方がいるのですが、今日はその方のエントリを F# でやってみた、という話です。 Excel-DNA については supermab さんのブログの Excel-DNA タグ をどうぞ。 ところで、F# のような関数型言語は、並列化処理に向いているようですが今回のような組合せ探索の問題はどのように記述出来るのでしょう?Excel-DNA と F# の組合せは、とても興味のあるところです♪ Excel-DNA で XLL をつくる(その17) あれ?なんか呼ばれてる?ということでやってみました。 ただし並列処理は今回やってないです。お手軽にやるなら Array.Parallel モジュールの関数群を使う感じでしょうか。 今回は、より簡潔に書けるよー、

    Excel-DNA で XLL をつくる (その17) を F# でやってみた - ぐるぐる~
  • Java やってる人が C# を使うとはまること - ぐるぐる~

    ここでは、Java SE 5.0 以降を知っている人が C# 2.0 を使うことになった場合を考える*1 *2。 あと、ライブラリについては触れないことにする*3。 命名規約 まず、命名規約が全然違う。Java ではメソッド名にキャメル形式*4を使うけど、C# では Pascal 形式*5を使い、Java では定数名に大文字アンダーバー区切り*6を使うけど、C# では Pascal 形式を使う。 C# に関する命名規約としては、ここだとかここだとかにあるので、参考にするといい。 間違っても、オブジェクト倶楽部のは参考にしないこと*7。 struct の扱い Java ではユーザ定義型は全て参照型だけど、C# では値型も作成できる。また、標準ライブラリの中に struct で定義されたものもある。 で、何にはまるかというと、struct は class と違い、「値渡し」される*8、つまりコ

    Java やってる人が C# を使うとはまること - ぐるぐる~
  • 1