ログ日記

作業ログと日記とメモ

CとPHPの共通点

メソッドがあるかどうかを調べてから実行するところ。

int vfs_create(struct inode *dir, struct dentry *dentry, int mode,
                struct nameidata *nd)
{
        ...
        if (!dir->i_op || !dir->i_op->create)
                return -EACCES;
        ...
        error = dir->i_op->create(dir, dentry, mode, nd);
        ...
}
<?php
class HogeUtil{
    static public function calc($hoge){
        if (!method_exists($hoge, 'execute'))
            trigger_error('execute method not found');

        return $hoge->execute();
    }
}

思い付きで書いてしまったが、書いてみると結構違うね。しかもPHPなんかよりJavaScriptの方が似ている。PHPもCやJavaScriptみたいに書けたらいいのに。
調べずに済ませるためにタイプヒンティングを使うわけだが、実行時じゃないとエラーが分からないので気休めだなあ。