BİLGİ SAYAMIYORUM beta

Ruby de bir değişkenin integer/sayı olup olmadığını nasıl kontrol ederim?

0

Bunun tabii ki tek bir yöntemi yok, uzun yolu; belki ihtiyacınıza göre daha uygun olur, değişkene regex (düzenli ifade) uygulamak. sayi_mi? gelen değişkenin karakterlerini dolaşıp hepsi sayı mı diye kontrol eden bir fonksiyon, eğer öyleyse sonucu true döndürüyor:

     def sayi_mi?(degisken)
          degisken.to_s.match(/\A[+-]?\d+?(\.\d+)?\Z/) == nil ? false : true
     end

Diğer bir yöntem ise, değişkeni integer a çevirmeye çalışmak, eğer patlarsa sonucu false döndür diyerek sonuç alabilirsiniz:

     sonuc = Integer(degisken) rescue false

Ama benim tavsiyem ve kesinlikle daha Ruby gibi duran yöntem ise bu bir "birşey" (burada Integer) mi diye sormak:

     2017.is_a? Integer

Diye sorduğunuzda true dönecektir.

     "Osman abi".is_a? Integer

Osman abi özellikle tırnak içine alınmış bir yazı/string olan "Osman abi" kesinlikle false döndürecektir.

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER