タグ

2012年12月6日のブックマーク (7件)

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    kfly8
    kfly8 2012/12/06
  • 【CGI・Perl】ハッシュのキーを挿入(追加)した順番通りに取り出す

    CGI・Perl例文集 CGI(Perl)のサンプルプログラムをコピー&ペーストで使える便利集! カテゴリー:ハッシュ(連想配列)  ハッシュのキーを挿入(追加)した順番通りに取り出す 通常、ハッシュに入れた値をkeysなどを使って取り出すと、配列のように追加した順番通りに並ぶことはまずないといってもよいし、期待してはならない。この問題を解決するには、つまりハッシュに順番を保持させる簡単な方法は「Tie::IxHash」モジュールを使用することだろう。 「Tie::IxHash」モジュールは、最初にtieで関連づけさせれば、後は通常通りkeysなどで操作すればよい。解除したくなったらuntieでOKだ。 ;# ;#順番通りにハッシュから取り出す ;# use Tie::IxHash; #---------------------------------------# #準備する #---

    kfly8
    kfly8 2012/12/06
  • perl - Tie::Expression - Let any %hash interpolate any expression. : 404 Blog Not Found

    2008年07月02日03:00 カテゴリLightweight Languages perl - Tie::Expression - Let any %hash interpolate any expression. 今まで私がCPANizeしたモジュールの中で、最も短いかも。 /lang/perl/Tie-Expression/trunk - CodeRepos::Share - Trac @CPAN (coming soon) 404 Blog Not Found:perl - qq(@{[ Interpolate->any->given('expression') ]}) spiritlooseのはてなダイアリー - 文字列中で式を実行 結果は print "@{[$foo->bar]}"; print "${\$foo->bar}"; こんな感じ。 これじゃかっこいくないので。

    perl - Tie::Expression - Let any %hash interpolate any expression. : 404 Blog Not Found
    kfly8
    kfly8 2012/12/06
  • perl - tie()って何をtieするの? : 404 Blog Not Found

    2008年07月05日01:30 カテゴリLightweight Languages perl - tie()って何をtieするの? 私はタイをまとうのがだいっきらいですが、Perl 5の中で一番好きな関数がtie()だったりします。 tie関数とは - 燈明日記 すると、裏で処理が動き、オブジェクトをコンストラクトしたり、とある処理結果が参照できたり、代入したものに対応したものを格納出来たりする。 というわけで、tie()について語っておくことにしましょう。 tie()とはなにか? ずばり、「オブジェクトではない、perlの組み込みデータタイプを裏でオブジェクト化する仕組み」のことです。それがなぜtieと呼ばれるかと言えば、変数を指定されたクラスに結びつけるから、です。 論より証拠、実際に見てみましょう。 use strict; use warnings; { package MySca

    perl - tie()って何をtieするの? : 404 Blog Not Found
    kfly8
    kfly8 2012/12/06
  • benchmarking Variable::Magic and tie - tokuhirom's blog

    I taken benchmark between Variable::Magic and tie. In this case, Variable::Magic is 3.1x faster than tie. awesome. perl: 5.012000 Tie::Hash: 1.03 Variable::Magic: 0.41 Rate tie magic tie 607350/s -- -76% magic 2522142/s 315% --use 5.12.0; use Benchmark qw/:all/; use Variable::Magic qw/wizard cast/; use Tie::Hash; say "perl: $]"; say "Tie::Hash: $Tie::Hash::VERSION"; say "Variable::Magic: $Variable

    kfly8
    kfly8 2012/12/06
  • XS code template - 動的にXSUBを生成する - エキスパートPerl - Perl-users.jp

    XSコードはふつうPerlコードよりも多機能で高速ですが,書くのが難しいため敷居が高いことも事実です。また,いちいちコンパイルしなければならないのも煩わしい点です。 ところで,Perlにはクロージャという仕組みがあり,動的にコードを生成することができます。したがって,XSでクロージャに等しいことを実現できれば,XSコードの煩わしさを避けつつXSの利益を享受することができます。 なお,この文書はXSによるコード例を解説していますが,XSそのものについては解説しません。 XSについてはperlxstutやperlxs,perlapiを参照してください。 クロージャの分析 まず,Perlのクロージャを分析します。Perlのクロージャは以下のようなものです。 sub make_accessor{ my($name) = @_; return sub{ $_[0]->{$name} }; } my

    kfly8
    kfly8 2012/12/06
  • カジュアルにデータを確率とか優先度で処理する - Articles Advent Calendar 2012 Casual

    こんにちは、こんにちは。カジュアルにPerl使っているkoba04 です。 Webアプリを作っていて、確率で処理を分けたり複数の要素を重み付けて選びたいことってありませんか? 真っ先に浮かぶのはガチャみたいなものですが、それ以外にもランダムでバナーを出し分けてみたり、接続するサーバーを重み付けて選んだり色々と使い道が思い浮かびます。 そんな時に使える二つのモジュールをご紹介したいと思います。 詳しくは下記の作者の方のブログを見てください。 Sub::Rate Data::WeightedRoundRobin 以上! でもいいのですが..順番に紹介してみたいと思います。 モジュールなしで実装 優先度を付けてデータを選びたい時はrandを使っての実装が思い浮かびますが、バグりそうな気もするし面倒だし出来れば書きたくないです。 (書き方が悪いという説もある) # 結果をdumpする関数 sub

    カジュアルにデータを確率とか優先度で処理する - Articles Advent Calendar 2012 Casual
    kfly8
    kfly8 2012/12/06
    NO コンビニ!!!!!!!