Ruby:
Virheenjäljitystulosteiden tulostaminen
How to: - Näin teet:
# Yksinkertainen esimerkki
def laske_summa(a, b)
summa = a + b
puts "Summa: #{summa}" # Debug-tulostus
summa
end
puts laske_summa(2,3)
# Tulostaa: Summa: 5
# Ja sen jälkeen: 5
# Monimutkaisempi esimerkki objektin sisällä
class Laskuri
def initialize
@laskuri = 0
end
def kasvata
@laskuri += 1
p @laskuri # Debug-tulostus käyttäen 'p' -metodia
end
end
laskuri = Laskuri.new
laskuri.kasvata
# Tulostaa: 1Deep Dive - Syväsukellus:
Aikoinaan koodarin työkalupakissa puts ja p olivat peruskeinoja nähdä, mitä koodissa tapahtuu. Verrattuna moderniin debuggereihin, kuten byebug tai pry, nämä ovat primitiivisiä, mutta toisinaan ne ovat nopein tapa saada yleiskuva ongelmasta.
puts tulostaa muuttujat ja lausekkeet muunnettuna merkkijonoiksi, kun taas p käyttää inspect-metodia, joka antaa yksityiskohtaisempaa tietoa objektista. Käytä putsia kun tarvitset siistit, ihmisen luettavat tulostukset ja p:tä kun tarvitset teknisempää dataa.
Ruby on sisäisesti optimoitu käsittelemään suoria tulostuksia hyvin, joten debug-tulostuksen käyttö ei yleensä hidasta ohjelmaa merkittävästi kehitysvaiheessa.
See Also - Katso myös:
- Ruby dokumentaatio
puts: http://ruby-doc.org/core-2.7.0/IO.html#method-i-puts - Ruby dokumentaatio
p: http://ruby-doc.org/core-2.7.0/Kernel.html#method-i-p - Byebug, hyödyllinen Ruby debuggeri: https://github.com/deivid-rodriguez/byebug
- Pry, interaktiivinen komentokehoite Rubyyn: http://pryrepl.org/