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

  • Klemens Torggler

    Klemens Torg

    11 Mart 2008
  • Nightmare2005

    Nightmare200

    14 Ocak 2007
  • tseyina

    tseyina

    2 AĞUSTOS 2006