J'utilise habituellement des put et imprimer, mais je me demandais de qui il s'agissait, alors quand je l'ai recherché, cela semble être une méthode incluse dans le module noyau. Depuis qu'il est devenu "Kernel module?", Je l'ai vérifié.
Un module qui définit des méthodes pouvant être référencées par toutes les classes. La classe Object inclut ce module. Les méthodes de la classe Object sont en fait définies dans ce module. Il s'agit de permettre la redéfinition de la méthode de niveau supérieur.
Tout d'abord, il existe toutes les superclasses appelées classes d'objets, et les méthodes définies ici peuvent être utilisées pour tous les objets. Et comme le module Karnel est inclus dans cette classe Object, le résultat est que la méthode peut être utilisée n'importe où. (À propos, un module est une fonction qui ne peut pas être instanciée comme une classe, mais qui peut définir des constantes et des méthodes.)
Comme ça.
talk.rb
#Cette partie est le niveau supérieur(En dehors de la classe ou du module)
def say
puts "hello"
end
#Cette partie est le niveau supérieur
#Puisque la classe Human hérite de l'Object de la classe parent, la méthode say peut être utilisée.
class Human
def talk
say
end
end
human = Human.new()
human.talk
#=>hello
J'ai fait mes propres recherches, mais je vous serais reconnaissant si vous pouviez signaler des erreurs.
Manuel de référence Ruby du langage de script orienté objet https://docs.ruby-lang.org/ja/latest/class/Kernel.html
Niveau supérieur en Ruby https://www.javadrive.jp/ruby/method/index1.html
Quelle est la méthode de haut niveau de Ruby après tout? https://qiita.com/pink_bangbi/items/c08ec7b32fc6dd20baad
Recommended Posts