タグ

2012年12月2日のブックマーク (5件)

  • List::Compareで二つの配列の集合を扱うの巻 - Articles Advent Calendar 2012 Casual

    こんにちは!hirobanexです!日はフランクに、2つの配列の集合を良い感じに取り扱えるList::Compare のご紹介です。podみると、いろいろなメソッドとかオプションがあるのですが今回ご紹介するのは、 get_intersection get_union get_Lonly get_Ronly の基的な4つのメソッドです。 取り扱う集合とメソッドの関係 それぞれのメソッドの機能をコトバで説明するよりも図で説明したほうがわかりやすいのですが、ベン図のあれっていえばだいたいの方はわかると思うので、図は出しませんwというわけで、それぞれ以下のようになります。 get_intersection : 2つの配列の共通部分を取り出す get_union : 2つの配列で合わせた部分を取り出す(List::MoreUtilsのuniq関数と同じ) get_Lonly : 2つの配列のうち

    List::Compareで二つの配列の集合を扱うの巻 - Articles Advent Calendar 2012 Casual
    mattn
    mattn 2012/12/02
  • Graphviz::DSL - 「逆に考えるだ, DOTファイルっぽく書いちゃってもいいさと」 - Articles Advent Calendar 2012 Hacker

    前置き こんにちは。syohexです。好きな寿司ネタは鯖というかバッテラです。今回は拙作の Graphviz::DSLというモジュールを紹介させていただきます。 Graphviz::DSLは Ruby Gemの Gvizに影響され作成したモジュールです。 既存の Graphvizモジュールは OOインタフェースが中心で '$graph->add_node'のようなメソッドを使いグラフを構築していくものが主でした。しかし個人的に OOインタフェースの場合, 最終的なグラフの形状が把握しづらいという印象を持っていました. 'add_node'などのコードを追い, 自分の頭の中でグラフの形状を考える必要があるためと思います. ところが Gvizはそうではなく, DSLを用い, DOTファイルを直接書く感覚に近いものでした. 今までの Graphvizインタフェースは DOTを避けすぎていたように

    Graphviz::DSL - 「逆に考えるだ, DOTファイルっぽく書いちゃってもいいさと」 - Articles Advent Calendar 2012 Hacker
    mattn
    mattn 2012/12/02
    大阪地下鉄の図すごい
  • Smart::Options - もっと手軽にコマンドライン引数解析 - Articles Advent Calendar 2012 Hacker

    前説 おはようございます。最近単著が出来たkanです。何故か毎年のようにadvent calendarの参加者に寿司を奢っていますが、そろそろ限界です(財布が)。perl advent calenderでは参加者と共に寿司スポンサーを募集しています。 モジュール紹介 今日は、拙作のSmart::Optionsというモジュールを紹介します。リリースされたのが今年の後半になってからで日の浅いモジュールですが、自分が過去に作ったoptsというCPANモジュールや、optimistというnode.jsのライブラリの知見を生かして作られています。コンセプトは「直感的にざっくり使えて、使おうと思えば細かい設定も可能」という感じです。 使い方 use Smart::Options; my $argv = Smart::Options->new->parse; if ($argv->{rif} - 5 *

    Smart::Options - もっと手軽にコマンドライン引数解析 - Articles Advent Calendar 2012 Hacker
    mattn
    mattn 2012/12/02
  • Perlでアプリケーションをささっと書くのに役立つTips - Articles Advent Calendar 2012 Casual

    @Cside_ です。Perlを書き始めて3年ほど経ち、Perlで何か作る際の効率化の手法がそれなりに確立してきたので、それを思いつくままに紹介しようと思います。主に多言語から来てPerlにほどんど慣れてない方などを想定しています。 覚えにくい/タイプ数の多い イディオムはコードスニペット化する習慣をもつ たまに使うけどすぐ忘れるイディオムとか、よく使うけどやたらタイプ数の多いイディオムってありますよね。たとえば Test::Baseを使ったテストの書き方 DBIのメソッドのusage。selectrow_なんちゃらrefとかselectall_なんちゃらrefとか など。こういうのはコードスニペットとして保存しておいて、必要なときすぐ呼び出せるようにショートカットを割り振っておくと良いです。同じイディオムを2回以上調べたり、タイプするのだるいなーと思った瞬間に即スニペットに登録するように

    Perlでアプリケーションをささっと書くのに役立つTips - Articles Advent Calendar 2012 Casual
    mattn
    mattn 2012/12/02
  • minimap-vimができるまで — KaoriYa

    水曜日の夜に生まれたminimap-vim、このプラグインを私がどう設計し実装したのか、その思考と行動の推移を再現してみましょう。 水曜日の夜に生まれたminimap-vim、このプラグインを私がどう設計し実装したのか、その思考と行動の推移を再現してみましょう。なおこの記事はVim Advent Calendar 20122日目の参加記事となります。 前置き Sublime Textのminimap確かにかっこいいなぁ。マーカー程度のことならsignでできるけどなぁ Sublime Textのminimap確かにかっこいいなぁ。マーカー程度のことならsignでできるけどなぁ — tyruさん (@tyru) 2012年11月28日 きっかけは tyru さんのこのつぶやきが目に止まったことでした。これを見た私は、ふとあることを思いつきます。 @tyru ふと思った。gvimもう一つたちあげ

    mattn
    mattn 2012/12/02
    #vim