タグ

2009年4月29日のブックマーク (2件)

  • PHP: 配列 関数 - Manual

    Be careful with type hints in callbacks when using array-traverse functions. In some cases, this may silently cause the data type of elements to change. <?php declare(strict_types=1); // Missing fatal TypeError, No side effects $unexpected = array_filter(['123', (string) PHP_INT_MAX], fn (int $item) => true); var_dump($unexpected); // Missing fatal TypeError, Typecasting side effect $unexpectedTyp

    rryu
    rryu 2009/04/29
    変に高機能な関数がある割に、評価関数が最初に真を返した要素を探し出すということができる関数が無い。
  • Y Combinator - LoveRubyNet

    $Id: ycombinator.html,v 1.6 2002/06/27 23:37:39 aamine Exp $ [ruby-list:35058] に刺激を受けて Y combinator を解読してみた。 こんなもん読むくらいなら以下の参考ページを読んだほうがいい。 参考にした (というかほとんどそのままな) ページ (英語) http://www.ececs.uc.edu/~franco/C511/html/Scheme/ycomb.html 動機 再帰関数は再帰するときに自分自身を名前で呼ぶのが普通である。 これをなんとかして名前を使わず、関数そのものを呼ぶように させたい。 求めかた まず単純な fact (階乗) を以下に示す。言語は Scheme である。 (define fact (lambda (n) (if (zero? n) 1 (* n (fact (- n

    rryu
    rryu 2009/04/29
    用出典調査>「コンビネータっていうのはプログラム意味論の用語。手続き名も 含む「変数」がすべて束縛変数である (引数になっている) λ式のこと」