LL互換命令リファレンスです.互換命令というか仕方なく他のP言語を触らざるをえなくなった人用の逆引きクロスリファレンス.
P言語御三家のみ。表示が厳しいので印刷ビューでご覧ください。
命令 |
Python |
PHP |
Perl |
文字列のデリミタによる分割 |
'str'.split('delim') |
explode("delim", "str"); |
split("str", /delim/); |
文字列フォーマッティング |
'%s %d' % ('str', 10) |
sprintf("%s %d", "str", 10); |
sprintf("%s %d", "str", 10); |
文字列スライス |
'abcdefg'[:3] |
substr("sbcdefg", 0, 3); |
substr("sbcdefg", 0, 3); |
文字列中に存在する任意文字列数を数える |
'abcdefg'.count('ab') |
substr_count("abcdefg", "ab") |
|
リスト長 |
len(obj) |
count(obj); |
scalar @obj; |
空リストの生成 |
listobj = [] |
$listobj = array(); |
@listobj = (); |
リストの生成 |
listobj = [1, 2, 3, 4] |
$listobj = array(1, 2, 3, 4); |
@listobj = (1, 2, 3, 4); |
リストからの代入 |
a, b, c, d = [1, 2, 3, 4] |
list($a, $b, $c, $d) = array(1, 2, 3, 4); |
($a, $b, $c, $d) = (1, 2, 3, 4); |
リストに追加 |
listobj.append(obj) |
$listobj[] = obj; |
push @listobj, $obj; |
文字列リストの連結 |
':'.join(listobj) |
implode(":", $listobj); |
join(":", @listobj); |
ハッシュの生成 |
dictobj = {'a': 10} |
$dictobj = array("a" => 10); |
%dictobj = ("a" => 10); |
ハッシュに代入 |
dictobj['b'] = "text" |
$dictobj["b"] = "text"; |
%dictobj{"b"} = "text"; |
文字列かどうかのチェック |
type(obj) == types.StringType または str |
is_string($obj); |
Data::Types::is_string($obj); |
読み取りモードでのファイルオープン |
fileobj = open('filename') |
$fileobj = fopen("filename", "r"); |
open(fileobj, "filename"); |
ファイルから一行分読み込む |
fileobj.readline() |
fgets($fileobj); |
$line = <fileobj>; |
ユーザ関数 |
def f(arg1, arg2='default', *args, **keywords): |
function f($arg1, $arg2="default") |
sub f($arg1, $arg2) = @_; |
リストオブジェクトのイテレーション |
for i in listobj: |
foreach($listobj as $i){ |
foreach $i(@listobj){ |
コマンドライン引数 |
sys.argv |
$_SERVER["argv"] |
@ARGV |
ディレクトリのリスティング |
os.listdir('.') |
opendir(DIR, "."); readdir(DIR); |
$dir = opendir("."); readdir($dir); |
キックされたスクリプトかどうかを調べる(Python以外オススメできない) |
if __name__ == '__main__': |
if(__FILE__ == realpath($_SERVER["SCRIPT_FILENAME"])) |
if(Cwd::abs_path($ENV{'_'}) == Cwd::abs_path(__FILE__)) |
グローバル変数の扱い |
global varでグローバル変数の値に反映する |
global $var;でグローバルスコープの変数を参照する |
my($var);、local($var);しなければ全部グローバル |