Dans Ruby, existe-t-il l'équivalent de la méthode __str__()
que vous pouvez définir dans les classes Python?Ruby - l'équivalent de la méthode Python __str __()?
Répondre
Vous pouvez utiliser to_s.
Sur les classes de base, il s'agit généralement d'inspecter.
Par exemple:
irb(main):001:0> puts "array is: #{[1,2,3].inspect}"
array is: [1, 2, 3]
=> nil
irb(main):002:0> puts "array is: #{[1,2,3]}"
array is: 123
=> nil
irb(main):003:0>
FWIW, Inspect est probablement plus comme __repr__()
que __str__()
de la référence de la bibliothèque ...
rééd (auto)
Called by the repr() built-in function and by string conversions (reverse quotes) to compute the ``official'' string representation of an object. If at all possible, this should look like a valid Python expression that could be used to recreate an object with the same value (given an appropriate environment). If this is not possible, a string of the form "<...some useful description...>" should be returned. The return value must be a string object. If a class defines __repr__() but not __str__(), then __repr__() is also used when an ``informal'' string representation of instances of that class is required.
'to_s 'est l'équivalent correct de' __str__' – rfunduk
Le lien ne fonctionne plus. – Eduardo