Data-Util

 view release on metacpan or  search on metacpan

lib/Data/Util/JA.pod  view on Meta::CPAN

配列リファレンスかどうかのチェックを行います。

=item is_hash_ref(value)

ハッシュリファレンスかどうかのチェックを行います。

=item is_code_ref(value)

コードリファレンスかどうかのチェックを行います。

=item is_glob_ref(value)

グロブリファレンスかどうかのチェックを行います。

=item is_regex_ref(value)

C<qr//>によって作られる正規表現かどうかのチェックを行います。

=item is_instance(value, class)

I<class>のインスタンスかどうかのチェックを行います。

C<< Scalar::Util::blessed($value) && $value->isa($class) >>というコードと
ほぼ等価です。

I<class>が未定義値またはリファレンスであれば致命的エラーとなります。

=item is_invocant(value)

I<value>に対してメソッドを起動できるかどうかをチェックします。

=item is_value(value)

I<value>がプリミティブ値かどうかをチェックします。すなわち,定義済みであり,
リファレンスではなく,型グロブでもなければ真を返します。

この関数(およびC<is_string>/C<is_number()>/C<is_integer()>)は,
オブジェクトリファレンスに対しては常に偽を返します。
たとえI<value>が文字列化/数値化/真偽値化オーバーロードメソッドを
持っていたとしても,それはプリミティブ値としては判断しません。

この関数には検証を行う対応関数がありません。

=item is_string(value)

I<value>がプリミティブ値であり,
かつ文字列化したときに1文字以上の内容を持つ値かどうかをチェックします。

C<< do{ is_value($value) && length($value) > 0 } >>と同じです。

この関数には検証を行う対応関数がありません。

=item is_number(value)

I<value>が数値かどうかをチェックします。
ここでB<数値>とは,数値コンテキスト(たとえばC<< sprintf '%g', $value >>)
で警告を出さずに数値に変換可能であり,
かつPerlプログラム中にリテラルとしておくことができる値という意味です。

すなわち,この関数はC<Scalar::Util::looks_like_number()>と異なり,
C<Infinity>やC<NaN>はリテラルとしてプログラム中に置くことはできないため,
数値として扱いません。また,数値化したときに警告を出さない例外である
C<"0 but true">も同じ理由で数値として扱いません。

この関数には検証を行う対応関数がありません。

=item is_integer(value)

I<value>が整数かどうかをチェックします。これはC<is_number()>の判定に加えて,
整数値かどうかをチェックします。

この関数には検証を行う対応関数がありません。

=back


=head2 Validating functions

検証関数はC<:validate>タグによって導入できます。これらはチェック関数と
同じ方法でチェックを行います。
ただし,その結果が真であれば第一引数をそのまま返し,
偽であれば致命的エラーとなります。

これらの関数もオーバーロードマジックを考慮します。

=over 4

=item scalar_ref(value)

スカラーリファレンスかどうかの検証を行います。

=item array_ref(value)

配列リファレンスかどうかの検証を行います。

=item hash_ref(value)

ハッシュリファレンスかどうかの検証を行います。

=item code_ref(value)

コードリファレンスかどうかの検証を行います。

=item glob_ref(value)

グロブリファレンスかどうかの検証を行います。

=item regex_ref(value)

C<qr//>によって作られる正規表現かどうかの検証を行います。

=item instance(value, class)

I<class>のインスタンスかどうかの検証を行います。

I<class>が未定義値またはリファレンスであれば致命的エラーとなります。

=item invocant(value)

I<value>に対してメソッドを起動できるかどうかの検証を行います。



( run in 0.607 second using v1.01-cache-2.11-cpan-39bf76dae61 )