Dans Ruby, inspect ne remplace pas to_s

In Python,

class Foo:
  def __repr__(self):
    return 'bar'
foo=Foo()
str(foo) # 'bar'

str(foo) gives 'bar' (both in Py2/Py3). So, if __repr__ is defined and __str__ is not defined, __repr__ is called instead.

However, in Ruby,

class Foo
  def inspect
    'bar'
  end
end
foo=Foo.new
foo.to_s # #<Foo:0x0000....>
p foo # bar
puts foo # #<Foo:0x0000....>

foo.to_s does not give 'bar'. So, if you define inspect, you should also define to_s.

Pour la recherche: dans Ruby inspect ne remplace pas to_s

Recommended Posts

Dans Ruby, inspect ne remplace pas to_s
tensorflow n'entre pas dans windows + anaconda.
Comment écrire Ruby to_s en Python
Janken en Ruby
Janken en Ruby
Le panneau ne rentre pas dans le Box Sizer mis dans le cadre! !! !! !!
Cliquer sur l'attribut de nom dans Selenium ne soumet pas
Commande lorsque l'arrêt de l'ACPI ne fonctionne pas dans VirtualBox
[Python] Pourquoi les tranches ne provoquent pas d'erreurs d'index