タグ

OOに関するdankogaiのブックマーク (13)

  • perl - Acme::Akashic::Records 0.01 Released : 404 Blog Not Found

    2010年10月03日02:00 カテゴリLightweight Languages perl - Acme::Akashic::Records 0.01 Released アカシックレコードをPerlから読みたいのですがモジュールありますか。 CPANを軽く捜しましたが見当たりません。 - 人力検索はてなアカシックレコードをPerlから読みたいのですがモジュールありますか こちらをお使い下さい。 /lang/perl/Acme-Akashic-Records/trunk - CodeRepos::Share - Trac dankogai's p5-Acme-Akashic-Records at master - GitHub Dan Kogai / Acme-Akashic-Records - search.cpan.org (Coming Soon) アカシック・レコードとは、このよ

    perl - Acme::Akashic::Records 0.01 Released : 404 Blog Not Found
  • perl - Class::Builtin 0.01 released - perlでもメソッドチェインを! : 404 Blog Not Found

    2009年06月21日19:00 カテゴリLightweight Languages perl - Class::Builtin 0.01 released - perlでもメソッドチェインを! リハビリをかねて作りました。 /lang/perl/Class-Builtin/trunk - CodeRepos::Share - Trac dankogai's p5-class-builtin at master - GitHub @CPAN (coming soon)こういうことが出来ます。 #!/usr/bin/perl -l use strict; use warnings; use Class::Builtin; binmode STDOUT, ':utf8'; my $so = OO('小飼弾'); print $so->length; print $so->decode_utf8

    perl - Class::Builtin 0.01 released - perlでもメソッドチェインを! : 404 Blog Not Found
  • javascript - にはクラスはない : 404 Blog Not Found

    2009年06月13日22:00 カテゴリLightweight Languages javascript - にはクラスはない かえってわかりにくくなっている感じをかつてさんざん実感したので。 JavaScriptのオブジェクトについて考察してみた - あと味 JavaScriptにおけるほとんど全てのデータはオブジェクトである オブジェクトの定義にもいろいろありますが、ここでは「メソッドを持つ」という狭い意味においても事実だということです。実際に見てみましょう。 p(true.toString()); p("String".toString()); p((1).toString()); p((3.14159265).toString()); p([0,1,2,3].toString()); p({q:"answer to life, the universe, and everythi

    javascript - にはクラスはない : 404 Blog Not Found
  • perl - Class vs. Closure : 404 Blog Not Found

    2008年07月13日03:30 カテゴリLightweight Languages perl - Class vs. Closure PERL HACKS(日語版) [英語版] うーん、さすがにそれはいいすぎでしょうか。 クロージャの概念をクラスとの対比でわかりやすく説明する。 - サンプルコードによる Perl 入門 ここで気づいてほしいことは、クラスとクロージャは、実は同じものだということです。たしかにオブジェクトの定義から行くと、 404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス それで、オブジェクトとは何か、といえば、「自分が何が出来るのか[コード]を知っているデータ」ということになる。 であり、クロージャー(closure)は「自分が何を持っているか[データ]を知っているコード」なので、等価ではある。実際、 package Class; sub

    perl - Class vs. Closure : 404 Blog Not Found
  • perl - no accessor; # だって遅いんだもん : 404 Blog Not Found

    2008年07月08日15:30 カテゴリLightweight Languages perl - no accessor; # だって遅いんだもん まずはDCONWAY先生のお言葉から。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] Always use fully encapsulated objects. オブジェクトは常にカプセル化して用いよ これはperlの常識というより、OOの常識であるのだけど、これがperlの実装と重なることにより、perlにおいては他の言語よりも作法を破りたくなるインセンティヴが大きいのは否めない。 カプセル化のコストが、あまりに大きいのだ。 以下は、ハッシュ、ハッシュリファレンス、そしてハッシュリファレンスによるオブジェクトの性能をベンチマークしたものだ。最初が初期化、次が accessor と

    perl - no accessor; # だって遅いんだもん : 404 Blog Not Found
    dankogai
    dankogai 2008/07/08
    $obj->accessor のOO税の高さについて
  • タイプ・クラス・プロトタイプ - OOの語彙 : 404 Blog Not Found

    2008年04月13日06:00 カテゴリLightweight Languages タイプ・クラス・プロトタイプ - OOの語彙 その違いは微妙というにはあまりに大きいので、ここでおさらい。 駄文 - JavaScript と「クラス」と「コンストラクタ」と「プロトタイプ」って言葉の定義が難しいよなあ - IT戦記 JavaScript関数の実体は、Functionクラスのオブジェクトです。今回はFunctionクラスの機能を網羅的に解説します。 JavaScriptの関数オブジェクトを完璧に理解する - builder by ZDNet Japan 「Function クラスのオブジェクト」って言いますよねー。 僕もそういう風に言ったりするんですけど、当は微妙ーに違うんですよね。 Type(型)って何? まず、タイプ=型から説明しよう。 型というのは、「どんなデータを、どう置くか」の

    タイプ・クラス・プロトタイプ - OOの語彙 : 404 Blog Not Found
  • perl - There's more than one way to duck-type : 404 Blog Not Found

    2007年06月14日00:15 カテゴリLightweight Languages perl - There's more than one way to duck-type 違う部分もあるので、そこを補足。 rubyco(るびこ)の日記 - Duck Typingは大規模プロジェクトでも大丈夫か? 考えてみたらPerlも同じか。Perlの場合、ContextがDuck Typingの代わりをつとめることが多い。 例えば、文字列を数値として扱う時に、rubyでは "1".to_i + "2".to_i と、明示的にto_iで型変換しなければならないのに対し、Perlでは "1" + "2" が3になる。状況、すなわちcontextに応じて、自動で型変換がなされるからだ。初心者に好かれ、中級者に嫌われ、上級者がやみつきになるのがこのcontext drivenという考えかただ。 なぜ初心者

    perl - There's more than one way to duck-type : 404 Blog Not Found
  • 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
  • 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の書き方
  • perl - Inside-out Object : 404 Blog Not Found

    2007年03月11日03:30 カテゴリLightweight Languages perl - Inside-out Object ところが、そのないはずの隠蔽化を強制する仕組みがすでに発見されているのです。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] ビンゴ中西のほげほげ Kansai.pm第8回ミーティングに行ってきました@荷造り中そして、Perlのオブジェクト指向には 隠蔽化を強制する仕組みはない いつか書こうと思っていたけど、ちょうどいい機会なので。 ここでは例として、name,uriという二つのインスタンス変数を持つオブジェクトを実装してみます。 InsideOut.pm { package InsideOut; use strict; use warnings; my %objects; sub new { my

    perl - Inside-out Object : 404 Blog Not Found
  • Perl 5はCOPでOOOP : 404 Blog Not Found

    2007年01月26日06:00 カテゴリLightweight Languages Perl 5はCOPでOOOP オブジェクトっていつからこんなややこしいものになったのか。 sumim’s smalltalking-tos - オブジェクト指向言語として必須な要素とは何か? ケイ パーソナルコンピューティングに係わるものをメッセージングで表現。 ストラウストラップ 抽象データ型(この文脈ではユーザー定義型を指す)を「クラス」を使って定義。 クック データに持たせる「手続き」によるデータ抽象化手法(対極に「抽象データ型」。ただし、この文脈で「抽象データ型」は、データに持たせる「型」による抽象化手法を指す) 私に言わせれば、オブジェクトの定義は 404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス 自分が何が出来るのかを知っているデータ で必要十分であり、そして

    Perl 5はCOPでOOOP : 404 Blog Not Found
  • perl - 継承を使いたいワケ : 404 Blog Not Found

    2006年12月05日09:30 カテゴリLightweight Languages perl - 継承を使いたいワケ おっとっと。というわけで元記事は直したのだけど、あえて継承を使いたかったのにはワケがある。 subtech - Bulknews::Subtech - MobileAgent おしゃれでもないし、そもそもこのコードでは動かない。 無理やりかけばこうなるか。 package MyMobileAgent; my $i; sub new { my $class = shift; my $self = HTTP::MobileAgent->new(@_); my $pkg = __PACKAGE__ . "::". $i++; no strict 'refs'; @{$pkg."::ISA"} = (ref $self, __PACKAGE__); bless $self, $p

    perl - 継承を使いたいワケ : 404 Blog Not Found
  • 型凝り : 404 Blog Not Found

    2006年11月01日16:55 カテゴリLogos 型凝り そうだろうか。 Types and Programming Languages Benjamin C. Pierce finalventの日記 - 夢みたいな夢じゃないような以前もちょろっと書いたが変数は型(タイプ)なんてないほうがいいというか、型を意識して物を考えさせられるのは苦痛だ。人間は物に対して型なんて考えない。それが自然だ、と。 怠惰(laziness)を追求すれば、自然と型を使ってしまうのが人間、いや生物だと思うのだが。 別にプログラムの世界に限った話ではない。「メタルカラーの時代5」において、三井ハイテックの三井孝昭氏は、「人間と動物の違いは金型を使うか使わないかだ」という名言を残しているが、動物どころか地球上の生物は金型はとにかく一つの細胞の例外も残さず型を使う。DNA → mRNA → tRNA+アミノ酸 →

    型凝り : 404 Blog Not Found
  • 1