Moose::RoleはJavaのInterfaceと似たような物だと思ってたんですが、大きな誤解でした。 モダンPerlの世界へようこそを読んで、Moose::RoleはTraits: Composable Units of Behaviorの概念の実装らしいことがわかったので、この論文を読んでみました。*1。非常に面白い内容でした。P.12 の a) と b) を見るだけでも、この概念の面白さが伝わるんじゃないかと。要は、指定した振る舞い(requires)から新しい振る舞い(provides)を作るものが、Traitsってことです。(ただし、ここで言う振る舞いにはアクセサを含みます。) 誤解していたこと Moose::RoleをTraitsとして見なすとすれば、JavaのInterfaceの性質である以下の2点は誤解です*2。 Moose::Roleは、単なるインタフェース(API)
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
kansai.pmに行ってきました。 id:hakobe932のプレゼン(http://d.hatena.ne.jp/hakobe932/20080531/1212255159)でMooseのスゴサが初めて理解できました。 どうでもいいことですがスライドで、 ・Mooseって何? ・Mooseのキモ と並んでいたのが、一瞬「Mooseってキモ」に見えてしまいました。 早速インストール debianではlibmoose-perl という名前ででパッケージ化されているので apt-get install libmoose-perl依存関係込みでインストール完了。 楽ちん。 Windowsでは http://steffen-mueller.net/modules/repository/ にレポジトリがあると書いてあるサイトがありましたが、2008/6/1現在つながりませんでした。 http://
NAME SYNOPSIS CAVEAT DESCRIPTION 別のオブジェクトシステム!?!? これを製品に使えますか?それとも実験段階でしかありませんか? MooseはPerl 5におけるPerl 6に過ぎませんか? BUILDING CLASSES WITH MOOSE EXPORTED FUNCTIONS UNEXPORTING FUNCTIONS unimport MISC. What does Moose stand for?? CAVEATS ACKNOWLEDGEMENTS SEE ALSO BUGS AUTHOR COPYRIGHT AND LICENSE DOCUMENT TRANSLATION Page Top NAME Moose - Perl5のためのまったく現代的なオブジェクトシステム Page Top SYNOPSIS package Point; use
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
いよいよ最終日です。電池切らさないように頑張ってレポートします(笑)。 You're Doing OO Wrong/Michael Schwernさん(9:50〜10:25) スピーカーの到着遅れてたようです。5分遅れでのスタートです。 継承がオブジェクト指向?→違う Howではなく、その操作から何が得られるかに着目する→インタフェース 継承がなぜよくない? 継承はめちゃめちゃになりやすい←ダイヤモンド継承 注意深く継承するのはつまらない 特徴に応じてクラス分けすると、クラスが増え過ぎてしまう Class::DBI → 色々継承している use Moose 少ないコードで書ける→OO部分だけ書けばいい Mooseでも、機能が欲しいだけでextendsを使うと意味がない→hasを使おう Roleはwithで取り込む まとめ: isa ×、hasa ○、Role ○ 自分でOO実装しないで、M
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く