タグ

2007年4月24日のブックマーク (5件)

  • perl - parser書くならgoto : 404 Blog Not Found

    2007年04月24日18:00 カテゴリLightweight Languages perl - parser書くならgoto しかし、当の当の番はこちらだったりする。 404 Blog Not Found:perl - POO と goto Perl 5のgotoは、仕組みを理解した上で使いどころを誤らなければかのごとく強力なのである。 前回の例では、それでも"One of many ways to do it"で、「知らなくても困らない」レベルのものであった。しかし、今回の例は、gotoがなければ当にきつい。 以下の例を考えてみよう。 入力: (define (fact n) (if (= n 1) 1 (* n (fact (- n 1))))) 出力: [['define',['fact','n'],['if',['=','n','1'],'1',['*','n',['f

    perl - parser書くならgoto : 404 Blog Not Found
    hassylin
    hassylin 2007/04/24
    これは勉強になる。コメントの内容も面白い。
  • 404 Blog Not Found:perl - 万能なnewの書き方

    2007年04月23日22:45 カテゴリLightweight Languages perl - 万能なnewの書き方 Perl 5のOOは、慣れてしまうと簡単だ。 継承とか考えずに、普通にクラスを作りたければ、必要なのは以下の二行だけ。 package Klass; sub new { bless {} }; これだけでは何もできないので、とりあえずnameというアクセサーを追加してみる。これだけ。 sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } しかし、上の形式だと、継承をサポートしていない。だから、 package Klass; sub new { bless {} }; package Klass::Sub; our @ISA = qw/Klass/; # new

    404 Blog Not Found:perl - 万能なnewの書き方
  • 404 Blog Not Found:perl - POO と goto

    2007年04月24日00:45 カテゴリLightweight Languages perl - POO と goto というわけで、番。 404 Blog Not Found:perl - 万能なnewの書き方 ここからが面白くなるのだが次のEntryへ譲るここに着目していただきたい。 sub init { my $self = shift; $self->{$_} = $default{$_} for keys %default; $self->SUPER::init(); } 初期化に限らず、自分で何かをしたら次のメソッドに振るというのは、OOでは非常によく見られる光景だ。特にpluginなどを使っている場合、それが著しい。 しかし、このコード、次のメソッドに振っているのはいいのだけど、振ってから戻ってくるのだ。メソッド呼び出しも関数呼び出しに過ぎないのだから、当然といえば当然だ

    404 Blog Not Found:perl - POO と goto
    hassylin
    hassylin 2007/04/24
    gotoで継承さかのぼりを一方向にして高速化(<-でいい?)
  • 404 Blog Not Found:perl - to goto or not to goto, that's the continuation

    2007年04月18日06:45 カテゴリLightweight Languages perl - to goto or not to goto, that's the continuation Perlでもgotoを使えば、当の継続(continuation)が可能であることを示す。 継続ってなんのことだかさっぱりわからない一は、以下にあらかじめ目をとおしておいていただきたい。 なんでも継続 なんでも継続、Perl で。 : torus solutions! 404 Blog Not Found:継続は力なり Tociyuki::Diary - Perl 5.8 で似非継続 Perl 5のgotoには、3種類ある。 goto LABEL こちらはCなどで見られるgotoと等価である。 goto END; print "Hello\n"; END: print "Goobye\n"; G

    404 Blog Not Found:perl - to goto or not to goto, that's the continuation
    hassylin
    hassylin 2007/04/24
    Lispっぽい末尾再起をgotoでうんたらかんたら
  • 動画ファイルの公開を開始 - YAPC::Asia 2007 Tokyo - April 4-5 2007 (Japanese)

    by miyagawa YAPC::Asia 2007 のセッションの動画ファイルの公開を開始しました。すべてのセッションの動画は i-revo 特設サイト (WMV ストリーミング) または Google Video (Flash/DivX/MP4) にて閲覧できるようになっています(一部非公開のセッションを除く)。 また、YAPC::Asia 2007 サイト内の セッション詳細ページ に Google Video の Flash プレイヤーを埋め込んでありますので、タイムテーブル からみたいセッションを選んでブラウザ上で見ることも可能です。 Google Video からダウンロードできる MP4 (H264)ファイルの ビデオキャストフィード も用意しました。iPod や PSP などにダウンロード・同期してお楽しみいただけます。iTunes や Democracy などビデオキャ

    hassylin
    hassylin 2007/04/24
    YAPCセッションを動画で。