組み込みのメソッド
以前に述べられたように、Zephirはオブジェクト指向プログラミングを推進し、静的な型に関する変数もオブジェクトとして扱うことができます。
これら二つのメソッドの比較:
public function binaryToHex(string! s) -> string
{
var o = "", n; char ch;
for ch in range(0, strlen(s)) {
let n = sprintf("%X", ch);
if strlen(n) < 2 {
let o .= "0" . n;
} else {
let o .= n;
}
}
return o;
}
および:
public function binaryToHex(string! s) -> string
{
var o = "", n; char ch;
for ch in range(0, s->length()) {
let n = ch->toHex();
if n->length() < 2 {
let o .= "0" . n;
} else {
let o .= n;
}
}
return o;
}
両方とも同じ機能を持ちますが、二つ目はオブジェクト指向プログラミングです。Zephirはオブジェクト指向バージョンから手続き型のバージョンにコードを変換するため、static型の変数のメソッド呼び出しはパフォーマンス上の問題はありません。
文字列
以下の文字列組み込みメソッドが利用可能です:
OO |
手続き型 |
解説 |
s->length() |
strlen(s) |
文字列長の取得 |
s->trim() |
trim(s) |
文字列の先頭と最後から空白(あるいは他の文字)を取り除きます |
s->trimleft() |
ltrim(s) |
文字列の先頭から空白(あるいは他の文字)を取り除きます |
s->trimright() |
rtrim(s) |
文字列の最後から空白(あるいは他の文字)を取り除きます |
s->index(“foo”) |
strpos(s, “foo”) |
文字列内の部分文字列の最初の出現箇所を見つけます |
s->lower() |
strtolower(s) |
文字列を小文字にします |
s->upper() |
strtoupper(s) |
文字列を大文字にします |
s->lowerfirst() |
lcfirst(s) |
文字列の最初の文字を小文字にします |
s->upperfirst() |
ucfirst(s) |
文字列の最初の文字を大文字にします |
s->format() |
sprintf(s, “%s”, x) |
成形された文字を返します |
s->md5() |
md5(s) |
文字列のmd5ハッシュを計算します |
s->sha1() |
sha1(s) |
文字列のsha1ハッシュを計算します |
配列
以下の配列組み込みメソッドが利用可能です:
OO |
手続き型 |
解説 |
a->join(” ”) |
join(” ”, a) |
配列要素を文字列に連結します |
a->rev() |
array_reverse(a) |
要素の配列を逆順に返します |
a->reversed() |
array_reverse(a) |
要素の配列を逆順に返します |
a->diff() |
array_diff(a) |
配列の差分を計算します |
a->flip() |
array_flip(a) |
配列内の全てのキーを関連する値と交換します |
a->walk() |
array_walk(a) |
配列の各メンバーへユーザ指定の関数を適用します |
a->hasKey() |
array_key_exists(a) |
配列内に指定されたキーあるいはインデックスが存在するかどうかを調べます |
a->keys() |
array_keys(a) |
配列の全てのキーあるいはキーの部分集合を返します |
a->values() |
array_values(a) |
配列の全ての値を返します |
a->split() |
array_chunk(a) |
配列をチャックに分割します |
a->combine(b) |
array_combine(a, b) |
キーについての配列と値についての配列を使って配列を生成します |
a->intersect(b) |
array_intersect(a, b) |
配列の共通項を計算します |
a->merge(b) |
array_merge(a, b) |
1つ以上の配列をマージします |
a->pad() |
array_pad(a, b) |
配列を値で指定された長さに埋めます |
Char
以下の文字埋め込みメソッドが利用可能です:
OO |
手続き型 |
ch->toHex() |
sprintf(“%X”, ch) |