タグ

2006年1月10日のブックマーク (8件)

  • Perl6のClosure : 404 Blog Not Found

    2006年01月10日15:56 カテゴリLightweight Languages Perl6のClosure 用途に関しては書かれ尽くされていてあまりつっこみどころがないので、Perl6のClosureを(再)紹介する。 naoyaのはてなダイアリー - Perl のクロージャ まだ他にもいろいろあると思うので、ツッコミご意見その他、NDOメソッドでお待ちしております。例えば、以下のclosureを考える。 sub mk_prompt{ my $p = shift; return sub { print "$p:", @_, "\n" }; } 使い方はこうだ。 my $todo = mk_prompt( qq[ε(     v ゚ω゚) ] ); $todo->(42); これが、Perl6ではこうなる。 sub mk_prompt($p) { sub { print "$p:",

    Perl6のClosure : 404 Blog Not Found
  • XML を Perl の高階関数で。 : torus solutions!

    XML::LibXML で XML を作るときに、 いちいち createElement とか appendChild とか書くのに飽きてきたので、 高階関数版を作ってみた。 (2005/4/27:テキストノードを追加する機能を付け足して、説明も書き足しました。) 前置き Perl でクロージャを作ってプログラミングするのが好きですというと、 Perl でクロージャなんかかけるの? という顔をする人がたまにいるんですが、 もちろんかけます。 『Higher-order Perl: A Guide To Program Transformation』 というが出ているくらいだし。 例 my $dom = (_DOM (_E fuga => {a1 => "attr1", a2 => "attr2"}, (_E hoge => {}, "Hahaha!"), (_E "piyo"))); こ

  • クロージャによるOOP - Tociyuki::Diary

    ふと思いついて試してみたのですが、Perlでもクロージャを使ったOOPを扱えるみたいです。たぶん既出なのだろうと思いますが、見つけきれなかったのでエントリーを打ってみます。 例1. UP/DOWNカウンタ sub Counter::new { my $this = {}; $this->{class} = shift; my( $value, $step ) = ( 0, 1 ); $this->{step} = sub { $step = shift if @_ > 0; $step }; $this->{value} = sub { $value = shift if @_ > 0; $value }; $this->{up} = sub { $value += $step }; $this; } my $c1 = Counter->new(); $c1->{value}->(10);

    クロージャによるOOP - Tociyuki::Diary
  • 「解毒」に「消毒」はいかが? : 404 Blog Not Found

    2006年01月10日01:22 カテゴリLogos 「解毒」に「消毒」はいかが? すでにここまでこの話題が進んでいる段階で遅きに逸している感もあるのだけれども。 高木浩光@自宅の日記 最近では、万能な意味で「サニタイズ」を使う人が増えてきた。英単語として のsanitizeは「消毒する」という意味だが、これをわざわざ意味を変えて「無 害化する」と訳す人が目立つようになってきた。その背景には、「入力で対策 することが誤りである」という指摘に対して、「出力で対策することもサニタ イズと呼びたい」という思考が働いているのだろう。 まずは題の前に"sanitize"の意味から。もちろん「あいてぃ〜系日語ジャーゴン」の「サニタイズ」と"sanitize"がもはや違う物を指し示している点を留意した上で。 Definition of sanitize - Merriam-Webster Onlin

    「解毒」に「消毒」はいかが? : 404 Blog Not Found
  • Ad Innovator: ロングテール化するミュージック販売ビジネス

    NYタイムス紙に、マッキンゼー&カンパニーのエンターテイメントグループのコンサルタントとして働いていたGreg Scholl氏が、ヒットを狙う大手レコード業界のビジネス効率の悪さから、海外音楽や小さなレーベルからの数十万種類のトラックを数百、販売することで成り立つロングテール的なミュージックビジネスThe Orchardを立ち上げたという話が出ている。彼らはそれらのアルバムをiTunesやNapster、Yahooなどで販売している。 ソース:NYTimes: Buying Music From Anywhere and Selling It for Play on the Internet リンク:The Orchard January 9, 2006 in Industry | Permalink TrackBack TrackBack URL for this entry: htt

  • Ad Innovator: 今日の解説:ロングテール化するミュージック販売ビジネス

    NYタイムス紙のこの記事の冒頭の段落「Working in the media and entertainment group of the consultants McKinsey & Company, Greg Scholl got a firsthand look at the inefficiency in the music business: the major record labels focus on creating hits, and they rarely make money on releases that sell less than a few hundred thousand copies.(大手レコードレーベルのヒットばかりを狙い、数十万枚の販売では赤字になるビジネスモデルの非効率性を肌で感じ・・・)」で引っかかったのだが、これはコンテンツビジネスだけで

  • クロージャの使用例 in Text::Hatena : blog.nomadscafe.jp

    クロージャの使用例 in Text::Hatena id:naoya氏がclosureのpracticeをいくつか揚げていて非常に勉強になります。 ちょっと思いだしたのは、Text::Hatenaに含まれるText::Hatena::HTMLFilterで、HTML::Parserを $self->{parser} = HTML::Parser->new( api_version => 3, handlers => { start => [$self->starthandler, 'tagname, attr, text'], end => [$self->endhandler, 'tagname, text'], text => [$self->texthandler, 'text'], comment => [$self->commenthandler, 'text'], }, );

  • naoyaのはてなダイアリー - Perl のクロージャ

    いつもお世話になってるあの人とかあの人とかが山口家の逆襲->perl-解説->クロージャというクロージャの解説ページをブックマークしてるのをきっかけに、 Perl のクロージャについて自分もちゃんと理解できてるのかというのを考えてみましたが、どうも微妙です。 クロージャについて、何でいまいち理解しきれてない感じがあるのかというと、クロージャがどういうものであるかは知ってるけど、クロージャをどういう時に使うと良いのかが具体的にあれとこれという感じで思い付かないからなのではないかと思った。 なので、Perl でクロージャを使ってる実装とかを見て、どんなときに使われるものなのかをリストアップして理解を深めてみよう..のコーナーです。 クラスにデータを保持するためのクロージャ 僕がぱっと思いついたのは Class::DBI の中で使われている Ima::DBI におけるデータベースハンドラのキャッ

    naoyaのはてなダイアリー - Perl のクロージャ