SORU
15 AĞUSTOS 2008, Cuma


Nasıl bir değişken Perl sayısal bir değeri vardır.

Bana verilen bir değişken sayısal olup olmadığını belirlemek için izin Perl ile basit bir yolu var mı? Şuna benzer bir şey:

if (is_number($x))
{ ... }

ideal olacaktır. -w anahtarı kullanıldığında uyarılar atmak olmaz bir teknik kesinlikle tercih edilir.

CEVAP
26 AĞUSTOS 2008, Salı


Looks_like_number API iç Perl C kullanan Scalar::Util::looks_like_number() () bunu yapmak için muhtemelen en etkili yolu olan işlevi. Dizeleri "" ve "sonsuz" bir sayı olarak kabul edilir. ınf unutmayın

Örnek:

#!/usr/bin/perl

use warnings;
use strict;

use Scalar::Util qw(looks_like_number);

my @exprs = qw(1 5.25 0.001 1.3e8 foo bar 1dd inf infinity);

foreach my $expr (@exprs) {
    print "$expr is", looks_like_number($expr) ? '' : ' not', " a number\n";
}

Verir bu çıktı:

1 is a number
5.25 is a number
0.001 is a number
1.3e8 is a number
foo is not a number
bar is not a number
1dd is not a number
inf is a number
infinity is a number

Ayrıca Bkz:

[perldoc Scalar::Util][1]
[perldoc perlapi][2] 

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Renaud

    Charles Rena

    10 Kasım 2007
  • Julia Graf

    Julia Graf

    6 Mayıs 2006
  • The Exploiteers

    The Exploite

    4 Ocak 2011