puts,print,p.md
August 13, 2021 · View on GitHub
puts, print, p özellikleri
- Rubyde ekrana yazı yazdırma işlemi için birden fazla fonksiyon bulunur.
- Bunların hepsi kendi aralarında farklı özelliklere sahiptir.
puts
- Kullanıcının yazdığı değerleri ekrana yazdırır.
- Değer olarak
nildöndürür. - Otomatik olarak argümanların sonuna
\nkarakteri ekler. - Yaptığı şey aslında her değere
to_smetodunu çalıştırır.
örnekler:
puts "merhaba dünya"
merhaba dünya
puts "selam","merhaba","dünya"
selam
merhaba
dünya
puts [1,2,3]
1
2
3
liste içindeki tüm değerlere to_s metodunu çalıştırır ve hepsinin sonuna \n karakteri ekler.
puts [1,2,3]. join(",")
1,2,3
puts [1,nil,nil,3]
1
3
puts """çoklu
satırlar
için
3 tırnak
"""
#ya da
puts <<-STRING
aaa
bbb
ccc
STRING
çoklu
satırlar
için
3 tırnak
aaa
bbb
ccc
x = 5
puts "x = #{x}"
x = 5
bu şekilde stringlerin içerisine formatlama yapabiliriz.
- kullanıcının yazdığı değerleri ekrana yazdırır.
- değer olarak
nildöndürür. - otomatik olarak argümanların sonuna
\nkarakteri eklemez. putstan farklı olarak direkt girdiyi ekrana yazdırır.
örnekler:
print "merhaba dünya"
merhaba dünya
print "selam","merhaba","dünya"
selammerhabadünya
gördüğünüz üzere kelimeleri birleşik yazdı \n karakteri kullanmadan.
print "selam"
print "merhaba"
print "dünya"
selammerhabadünya
gene aynı şekilde bitişik yazdı bunu hepsinin sonuna \n karakleyerek düzeltebiliriz.
print "selam\n"
print "merhaba\n"
print "dünya\n"
selam
merhaba
dünya
şimdi gördüğünüz gibi alt alta yazdı.
print [1,2,3]
[1,2,3]
putsun aksine direkt girdiyi ekrana yazdırır.
print [1,2,3]. join("\n")
1
2
3
bu şekilde alt alta yazabiliriz.
p
- ekrana
rawobjeyi yazmak için kullanılır. putsveprintten farklı olarak içine aldığı değeri döndürür.- argümanların sonu
\notomatik karakteri ekler. debugging (hata ayıklama)için kullanılabilir.
örnekler:
p "merhaba dünya"
"merhaba dünya"
p "selam","merhaba","dünya"
"selam"
"merhaba"
"dünya"
p [1,2,3]
[1,2,3]
def p_test
p "selam"
end
p_test
selam
gördüğünüz gibi selam değerini döndü fonksiyon puts veya printkullansaydık nil değerini dönecekti.
def puts_test
puts "selam"
end
puts_test
selam
selam döğerini ekrana gösteriyor ama nil değerini dönüyor aslında.
def puts_test
puts "selam"
end
p puts_test
selam
nil
p ile debugging yaptığımızda nil değerini gösteriyor.