自分と返信に関するbleis-tiftのブックマーク (4)

  • 遅延評価いうなキャンペーンとかどうか - ぐるぐる~

    遅延評価については以前も書いてるんですが、そのときは結論なしでした。 が、ちょっと考えるところがあって、言語を Java に絞って自分の考えを明確にしておきます。 結論から書きましょう。 「Java(とC#) で遅延評価って書いてあるものは遅延評価ではない」です。 Java における「評価」とは まず一番最初に、Java で「評価」って言うと、どういうことを指すのかを確認しておきます。 言語仕様の該当部分を要約すると、こんな感じでしょうか。 プログラム中の式を評価すると、結果は 変数 値 無し のうちのどれかとなる。 評価した結果が値になる、というのはいいでしょう。それ以外の 2 つを軽く説明します。 評価の結果が「変数」とは? コメント欄で指摘が入っています。 代入の結果は変数ではありません(15.26)。 結果が変数となるのは、ローカル変数、現在のオブジェクトやクラスの変数、フィールド

    bleis-tift
    bleis-tift 2013/01/06
    > id:terazzo 引数に渡す部分の評価は式木かFuncかによりません。> id:yogasa 「いわゆる」とかにしたくないがためのエントリですので・・・> id:hiratara thunk、もしくはpromiseでどうでしょうか?
  • よくあるコーディングパターンと 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版
    bleis-tift
    bleis-tift 2011/02/22
    > id:terazzo n個組み合わせてもループ回数はn倍になりません。パイプライン的なイメージと言えば分りやすいかも。
  • TDD と Git についてメモ - ぐるぐる~

    ついったーにつぶやいたものを中心にまとめました。 まだこれで正しいという確信を持てていないので、メモという位置付けでお願いします*1。 なので追記する可能性が高いです。 TDD でドキュメンテーションコメントを書くタイミング カテゴリを指定して実行するテストを分ける git stash の使い道 TDD でドキュメンテーションコメントを書くタイミング ここでは Git を前提にしますけど、rebase 使えるならほかのものでも大丈夫なはずです。 TDD でいつドキュメンテーションコメントを書けばいいのか、というのは、 Re:TDD を理解するためのまとめ - ぐるぐる〜 TDD Boot Camp の参加報告とか読んで - ぐるぐる〜 と、過去 (といっても半年も経ってないけど) ずっともやもやしてたんですが、 事前条件で楽できないかなーという考え - Logic Dice に対する自分な

    TDD と Git についてメモ - ぐるぐる~
    bleis-tift
    bleis-tift 2010/02/19
    id:nobeans > rebase前にブランチ切るのはいいですね。rebase怖い、ってのはよくわからないです
  • List を文字列化 - ぐるぐる~

    List<Char>.ToString() とか C# 3.0 以降なら LINQ やら拡張メソッドやらで OK ですね。 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication { class Program { static void Main(string[] args) { var hello = "hello"; // 元ネタにあわせるためにToListを呼び出す var buf = hello.ToCharArray().ToList(); // LINQ Console.WriteLine(buf.Aggregate("", (s, c) => s + c)); // 拡張メソッド Console.Wri

    List を文字列化 - ぐるぐる~
    bleis-tift
    bleis-tift 2009/11/30
    >id:neuecc インテリセンス頼り切りはいけませんね^^;クロージャを使った方法はなるほどです。情報ありです!
  • 1