[PYTHON] In Ruby ersetzt inspect nicht 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.

Für die Suche: In Ruby ersetzt inspect to_s nicht

Recommended Posts

In Ruby ersetzt inspect nicht to_s
Tensorflow tritt nicht in Windows + Anaconda ein.
Wie schreibe ich Ruby to_s in Python
Janken in Ruby
Janken in Ruby
Panel passt nicht in Box Sizer in Frame! !! !! !!
Das Klicken auf das Namensattribut in Selenium wird nicht gesendet
Befehl, wenn das Herunterfahren von ACPI in VirtualBox nicht funktioniert
[Python] Warum Slices keine Indexfehler verursachen