タグ

ブックマーク / harupiyo.hatenadiary.org (3)

  • perldoc をless で表示させる方法 - harupiyoの日記

    perldoc コマンドでドキュメントを参照するとき、標準ではページャーがmore に指定されており、何かと不便を感じる。 例) perldoc -m Plagger less にしたい! こういうときは、環境変数PERLDOC_PAGER を指定してあげればいいようです。 例)sh,bash,zsh の場合 export PERLDOC_PAGER=less また、perldoc perldoc で"便利(useful)"と紹介されている次の設定もいいと思います。 export PERLDOC_PAGER='less -+C -E' less のオプションの意味は次の通り。 オプション 効果 -+C 表示する前に画面の表示をクリアーする -E 表示がファイル末尾に到達したとき、自動的にページャーを終了する ※-C ではなく、-+C と書いてあることについてその意味がよく分かっていない…

    perldoc をless で表示させる方法 - harupiyoの日記
  • 一次元配列同士の比較のいろいろなやり方 - harupiyoの日記

    問題 @a = (1,2,3); @b = (1,2,3); のような配列があったとして、これらの中身が同じ(@a = @b) であることを確認したいと思います。 細かい条件として、値は正の数字のみ(負はない、)で並び順は気にしない、かつ同じ番号はないという事にします。 かんたんに考えると、次の二つの条件を満たせればいいはずです。 二つの要素の数が同じであること 先頭から比較して、末尾までの各項目の内容が等しいこと 素直にコーディングすると... sub is_same($$){ my($a,$b) = @_; # (1)二つの要素の数が同じであること return 0 if @$a != @$b; # (2)先頭から比較して、末尾までの内容が等しいこと for (0..$#$a){ return 0 if $a->[$_] != $b->[$_]; } return 1; } というサブ

    一次元配列同士の比較のいろいろなやり方 - harupiyoの日記
  • モンテカルロ法でサイコロ関数を検証 - harupiyoの日記

    モンテカルロ法をご存知でしょうか? 初めての方に、ちょっとだけ私から解説をさせてください! 例えば、サイコロの目。 サイコロを振って、今出た目が3、だったとしましょう。 この時、3が出た確率は(一回しか振ってないので)100% ですが、更に何回か振ると3以外の目が出て%は下がって行きますよね。 しかし、下がるとは言っても、サイコロですからそれぞれの出目の確率は1/6。最終的には1/6…約16% に落ち着いていくはずです。 振る回数が多いほど1/6 に近くなるというところがポイントで、このように一回の出目はランダムでも、たーーくさんの回数を稼いで期待する答えを導き出すという考え方がモンテカルロ法です。 実際にこれを確かめるPerl プログラムを書いてみました。 このプログラムでは、サイコロを振る関数dicing を、何回も(ENOUGH_MANY_TO_TRY回) 振ってみて、各出目の確率が

    モンテカルロ法でサイコロ関数を検証 - harupiyoの日記
  • 1