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);しなければ全部グローバル

LL/互換命令リファレンス (last edited 2007-10-25 08:21:11 by KeisukeUrago)