Perl日記

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

PHP

PHPのabstractクラスのstatic関数は呼べる

PHP

呼べたのでメモ。

PHPのいいところを考える

PHP

辛いところを見ていても辛くなるだけなので、PHPのいいところを考えてみる。 タイプヒンティングがある PHP: タイプヒンティング - Manual関数の引数に型指定ができるよ。 ただしintやstringなどのプリミティブ型は指定できないよ。

PHPのtraitはinstanceofで確認できない

PHP

PHPではtraitというメソッドの固まりみたいなものをクラス内に差し込むことができる。 が、interfaceと違って、instanceofで特定のtraitが使用されているか判定することができないようだ。traitの場合 bool(false) interfaceの場合

PHPの配列は配列ではないので気をつけろ

PHP

PHPの配列は配列ではない。 PHP の配列は、実際には順番付けられたマップです。 http://php.net/manual/ja/language.types.array.php他の言語でいうところの配列は、PHPでは添字がキーになった辞書である。 なので、値のリストと、キー・値のペアを一緒に混…

PHPのarray_filterは添字を維持するので気をつけろ

PHP

やることはPerlのgrepやRubyのArray#selectと同じなのに、PHPのarray_filterは添字を維持してフィルタしてくれやがる。Ruby [10, 11, 12, 13, 14, 15, 16].select{|i| i % 2 == 1} #=> [11, 13, 15] PHP Array //=> ( //=> [1] => 11 //=> [3] => 13 //=> […

PHPでMySQLにつなごうとしてエラーになった

PHP

$ sudo apt-get install php5-mysql接続情報などをいれて、アクセスすると、 could not find driver既にMySQLなどは動いている状態。Nginxを再起動しても解決せず。 いろいろ確認した結果、PHP FPMを再起動しないとだめなのだった。 $ sudo service php5-fpm…

stdClassをやってみた

PHPのstdClassがシンプルだったので、Perlでやってみた。 PHP first_name = 'Taro'; $obj->family_name = 'Yamada'; print $obj->first_name; //=> Taro print $obj->family_name; //=> Yamada Perl stdClass.pm package stdClass; use strict; use warnings…

abstract メソッド

Mojo.pmを見ていて、Perlでもabstract(抽象)メソッドとして定義する方法が分かったのでメモ。 まあ厳密には違うのだけれども。 親となるクラス内で、 sub handler { croak 'Method "handler" not implemented in subclass' } このように死ぬだけのサブルーチ…

PHPでList::MoreUtilsのやつ

何番煎じかわからないけど、 Perlのuniq()とmesh()をPHPで考えてみた。

PerlerのためのPHP3

前までの2回でふと思ったこと。 sort()で破壊させないには a,b,c,d,ePHPのsort()はPerlと違ってソーティングされた配列が返ってこない。 直接直截。 注意: ソート関数は、すべて配列自身を直接変更します。 ソートした配列を新しく作って返すわけではありま…

PerlerのためのPHP2

続き。 初めてのPHP5作者: David Sklar,桑村潤,廣川類出版社/メーカー: オライリージャパン発売日: 2005/10/27メディア: 単行本購入: 6人 クリック: 54回この商品を含むブログ (41件) を見る そういえばtrueとfalseが抜けていた。 つーか「===」って何よ。 …

PerlerのためのPHP1

たぶんPHPを使わなければならないようになると思うので、今のうちから勉強。 ああCatalystでもっと遊びたい。 とりあえずこれを買った。 初めてのPHP5作者: David Sklar,桑村潤,廣川類出版社/メーカー: オライリージャパン発売日: 2005/10/27メディア: 単行…