Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

2010-03-01から1ヶ月間の記事一覧

looks_like_number()の返り値とエクスクラメーションによるBoolean反転

昨日のlooks_like_number()の返り値がよくわからなかったので、cpanからinstallするときのtestを落として見てみた。 $ cpan cpan[1]> get Scalar::Util $ cd ~/.cpan/build/Scalar-List-Utils-1.23-npHgm2/t/ $ grep looks_like_number ./* ./lln.t:use Scal…

looks_like_number()

昨日、looks_like_number()を使ったつながりで、実装はどんな風なんだろうと思ってperldoc -mしてみた。 /path/Scalar/Util/PP.pm sub looks_like_number { # (略) return 1 if (/^[+-]?[0-9]+$/); # is a +/- integer return 1 if (/^([+-]?)(?=[0-9]|\.[0-…

最大値と最小値を決めたランダム数値

が必要になったので、再発明感がギラギラだったけどやってみた。 まあ記録的にメモしておく。 use Scalar::Util qw/ looks_like_number /; sub range_rand { my ($max, $min) = @_; if ( looks_like_number($max) and looks_like_number($min) ) { if ($max …

my()のプロトタイプ

my()はかっこつけたら何個でも変数を同時に局所化できるけれど、かっこなしだと一個だけしか局所化できない。 use strict; use warnings; my (@aaa, @bbb, %aaa, %bbb, $aaa, $bbb); my @ddd, @eee, %ddd, %eee, $ddd, $eee; Parentheses missing around "my…

OR DIEが

呪 王に 見えた。 疲れてるな…。

TTSiteの中でベースURLが出ない問題

これはよくPOD読めばすぐにわかった問題だった悔しい。 CatalystでViewにTTSite使ってて、cssがheader内に展開されるのが個人的に嫌だったので外部から参照するようにしようとしていた。 が、ベースURLが取れなかったので、苦労したのでメモ。 まずは全体の…

Singleton

Catalystの勉強絡みでDBIx::Class::Schema::Loaderについて、いろいろしていたら、「シングルトン」という単語に行き当たった。 これまでも見たことはあったけど、後回しにしていて、意味が分からなかったのでようやく調べた。 参考: Singleton パターン - …

Modelはいらない子?

CatalystでMVCの勉強をだらだらとのろのろとやっていっているけれど、いろいろ調べているうちに、どうもModelディレクトリにモデルを入れるのは、最近の手法ではないのかなという感じ。 参考: catalystでモデル分離が落ち着いた。その上でUser->find_by(…

DBICスキーマづくり

$ script/book_web_create.pl model DBIC DBIC::Schema Book::Schema create=static dbi:SQLite:/User/rightgo09/script/Book-Web/db/book.dbなげえ! 初めはこちらのようにDBICを親のスキーマクラスにしたら「DEPRECATED!!(廃止される可能性がある!!)」の警…

ディレクトリ構成

いま簡単な書籍管理システムをCatalystで作ろうとしているのだけれど、ディレクトリ構成はどうするのがベストなんだろう。 「モダンPerl入門」では、"MyApp::Web"のように最初にスケルトン作る方法が出ていたけれど…。 じゃあCLI配下には何を入れるんだ? と…

創るセンス

森博嗣「創るセンス 工作の思考」を読んだ。 創るセンス 工作の思考 (集英社新書 531C)作者: 森博嗣出版社/メーカー: 集英社発売日: 2010/02/17メディア: 新書購入: 15人 クリック: 590回この商品を含むブログ (77件) を見る 思ったことを少し。 どうして凄…

再帰処理なんて

はてブからこちらのエントリを見た。 ループを使わずに配列を逆にするヤツ : D-7 <altijd in beweging> こういうのとか、あの有名なバベルの塔(追記:ハノイの塔の誤り)のやつとか、フィボナッチ数列のやつとか、基礎の基礎みたいな階乗のやつとか。 本当に再帰処理というのは見</altijd>…

@にいれてない配列からはshiftとかpushとかはできません

ふわっふわしたままの配列の要素変更はできません>< #!/usr/local/bin/perl use strict; use warnings; use feature qw/say/; my $res = shift (1, 2, 3, 4, 5); say $res; Type of arg 1 to shift must be array (not list) at ./ary1.pl line 6, near "5…