Module: Dump

Defined in:
lib/dump.rb

Overview

Quelques methodes utiles pour le debogage.

Remarque: pour utiliser ce module, il faut tout d'abord charger le fichier:

require 'dump'

Ensuite, on effectue des appels de la forme suivante:

Dump.dump( :symbol, binding[, chainePourContexte] )
Dump.inspect( :symbol, binding[, chainePourContexte] )

Class Method Summary collapse

Class Method Details

.dump(sym, bndg, cl = nil) ⇒ void

This method returns an undefined value.

Affiche la valeur associee a un symbole dans un environnement. Utile pour deboger facilement au lieu de puts.

N'a aucun effet si $dump est faux (false ou nil).

Examples:

On veut afficher la valeur de la variable foo

foo = 3
Dump.foo :foo, binding # => At ... : foo = 3

Parameters:

  • sym (Symbol)

    Symbole de la variable qu’on veut afficher

  • bndg (Binding)

    Contexte duquel provient la variable

  • cl (nil, !nil) (defaults to: nil)

    Indique si on veut aussi afficher le contexte des appelants



34
35
36
37
38
39
40
41
42
43
# File 'lib/dump.rb', line 34

def dump( sym, bndg, cl = nil )
  return unless $dump

  v = eval( sym.id2name, bndg )
  if v.nil?
    puts "At #{Dump.contexte cl}::#{Dump.separateur cl}#{sym.id2name} = nil"
  else
    puts "At #{Dump.contexte cl}::#{Dump.separateur cl}#{sym.id2name} = '#{v}'"
  end
end

.inspect(sym, bndg, cl = nil) ⇒ void

This method returns an undefined value.

Semblable a dump, mais utilise inspect au lieu de puts.

Parameters:

  • sym (Symbol)

    Symbole de la variable qu’on veut afficher

  • bndg (Binding)

    Contexte duquel provient la variable

  • cl (nil, !nil) (defaults to: nil)

    Indique si on veut aussi afficher le contexte des appelants



50
51
52
53
54
# File 'lib/dump.rb', line 50

def inspect( sym, bndg, cl = nil )
  return unless $dump

  puts "At #{Dump.contexte cl}::#{Dump.separateur cl}#{sym.id2name} = #{(eval sym.id2name, bndg).inspect}"
end