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.