Perl'deki Değerlerin Karşılaştırılması için Başlangıç ​​Kılavuzu

Perl karşılaştırma operatörleri bazen yeni Perl programcıları için kafa karıştırıcı olabilir. Karışıklık, Perl'in aslında iki karşılaştırma karşılaştırma operatörüne sahip olması gerçeğinden kaynaklanıyor - biri karşılaştırma için sayısal değerler ve bilgi değiş tokuşu Amerikan Standart Kodu (ASCII) değerlerini karşılaştırmak için bir tane.

Karşılaştırma işleçleri genellikle mantıksal program akışını denetlemek ve önemli kararlar vermek için kullanıldığından, Test ettiğiniz değer için yanlış operatör, dikkatli değilseniz tuhaf hatalara ve saatlerce hata ayıklamaya neden olabilir.

Hatırlanması gereken bazı son dakika şeyler için bu sayfanın en altında yazılanları yakalamayı unutmayın.

Eşit, Eşit Değil

En basit ve muhtemelen en çok kullanılan karşılaştırma işleçleri, bir değerin başka bir değere eşit olup olmadığını test eder. Değerler eşitse, test true değerini döndürür ve değerler eşit değilse test false değerini döndürür.

İki eşitliği test etmek için sayısal değerleri, karşılaştırma operatörü kullanın

instagram viewer
==. İki eşitliği test etmek için sicim değerleri, karşılaştırma operatörü kullanın eşdeğer (Eşit).

İşte her ikisine de bir örnek:

eğer (5 == 5) {print "== sayısal değerler için \ n"; }
if ('moe' eq 'moe') {dize değerleri için "eq (EQual) yazdır \ n"; } 

Eşit değil, tam tersi için test yapmak çok benzerdir. Bu testin geri döneceğini unutmayın doğru eğer test edilen değerler değil eşittir. İki sayısal değerler değil birbirine eşit, karşılaştırma işleci kullanırız !=. İki sicim değerler değil birbirine eşit, karşılaştırma işleci kullanırız ne (Eşit değil).

eğer (5! = 6) {print "! = sayısal değerler için \ n"; }
if ('moe' ne 'curly') {dize değerleri için {print "ne (Eşit Değil) \ n"; } 

Büyük, Büyük veya Eşit

Şimdi şuna bakalım: daha büyük karşılaştırma işleçleri. Bu ilk operatörü kullanarak, bir değerin başka bir değerden daha büyük olup olmadığını test edebilirsiniz. İki sayısal değerleri birbirinden büyük, karşılaştırma işleci kullanıyoruz >. İki sicim değerleri birbirinden büyük, karşılaştırma işleci kullanıyoruz GT (Büyüktür).

eğer (5> 4) sayısal değerler için {print "> \ n"; }
eğer ('B' gt 'A') {dize değerleri için {print "gt (Büyüktür) \ n"; } 

Ayrıca şunları test edebilirsiniz: eşit veya daha büyükçok benzer görünüyor. Bu testin geri döneceğini unutmayın doğru eğer test edilen değerler birbirine eşitse veya soldaki değer sağdaki değerden büyükse.

İki sayısal değerler birbirinden büyük veya eşit, karşılaştırma operatörünü kullanıyoruz >=. İki sicim değerler birbirinden büyük veya eşit, karşılaştırma operatörünü kullanıyoruz ge (Eşit'ten büyük).

eğer (5> = 5) {print "> = sayısal değerler için \ n"; }
if ('B' ge 'A') {dize değerleri için {print "ge (Eşit'ten büyük) \ n"; } 

Küçük, Küçük veya Eşit

Perl programlarınızın mantıksal akışını belirlemek için kullanabileceğiniz çeşitli karşılaştırma işleçleri vardır. Perl sayısal karşılaştırma işleçleri ile Perl dizi karşılaştırma işleçleri arasındaki farkı tartıştık, bu da yeni Perl programcıları için karışıklığa neden olabilir. Ayrıca, iki değerin birbirine eşit olup olmadığını nasıl anlayacağımızı ve iki değerin birbirine eşit veya daha büyük olup olmadığını nasıl anlayacağımızı öğrendik.

Bakalım daha az karşılaştırma işleçleri. Bu ilk operatörü kullanarak, bir değerin daha az başka bir değer. İki sayısal değerler daha az birbirimizi kıyaslama operatörünü kullanıyoruz <. İki sicim değerler daha az birbirimizi kıyaslama operatörünü kullanıyoruz lt (Daha az).

eğer (4 <5) {print "
eğer ('A' lt 'B') {dize değerleri için "lt (Küçüktür) yazdır \ n"; } 

Ayrıca, küçük veya eşitçok benzer görünüyor. Bu testin geri döneceğini unutmayın doğru test edilen değerler birbirine eşitse veya soldaki değer sağdaki değerden küçükse. İki sayısal değerler küçük veya eşit birbirimizi kıyaslama operatörünü kullanıyoruz <=. İki sicim değerler küçük veya eşit birbirimizi kıyaslama operatörünü kullanıyoruz le (Eşit-den daha az).

 eğer (5 <= 5) {print "<= sayısal değerler için \ n"; }
eğer ('A' le 'B') {dize değerleri için {print "le (Eşit-den daha az) \ n"; } 

Karşılaştırma Operatörleri Hakkında Daha Fazla Bilgi

Dize değerlerinin birbirine eşit olduğu hakkında konuştuğumuzda, ASCII değerlerinden bahsediyoruz. Dolayısıyla, büyük harfler teknik olarak küçük harflerden daha azdır ve harf alfabede ne kadar yüksek olursa ASCII değeri o kadar yüksek olur.

Dizelere dayalı mantıksal kararlar vermeye çalışıyorsanız ASCII değerlerinizi kontrol ettiğinizden emin olun.