?Traitement lorsque vrai:Traitement lorsque faux
case Objet ou expression cible
quand valeur 1
#Traitement pour la valeur 1 puis
quand valeur 2 alors#Que faire si la valeur 2 est vraie(Si vous utilisez alors, vous n'avez besoin que d'une ligne)
else
#Que faire si aucun d'entre eux ne correspond
end
-Comme la dernière expression évaluée est la valeur de retour, il est également possible de mettre le résultat dans une variable. -La valeur après quand peut être un hachage tel que: japan.
nom de classe de classe(La première lettre est en majuscule. Affaire de chameau)
end
-Comme Ruby utilise l'héritage unique, une classe ne peut avoir qu'une seule superclasse. -Si un module est inclus dans une classe, la méthode définie dans le module peut être appelée comme méthode d'instance. -Ajouter une fonction en incluant ou en étendant un module à une classe est appelé mix-in, et un mécanisme similaire à l'héritage multiple peut être réalisé avec cela. Comme include peut être appelé comme méthode d'instance et s'étendre comme méthode singulière (méthode de classe), extend lorsque vous voulez l'appeler directement sous la syntaxe de classe. -La classe est une instance (objet) de la classe classe. Il hérite de la classe Module qui hérite de la classe Object.
> User.include?(Nom du module)
=> #renvoie vrai ou faux
> User.included_module
=> [Kernel] #Les modules inclus sont renvoyés sous forme de tableau
> User.ancestors
=> [Bank, Object, Kernel, BasicObject] #Modules et superclasses renvoyés
module Nom du module
Définition du module. Méthodes, constantes, etc.
end
La syntaxe la plus basique.
begin
#Traitement pouvant entraîner des exceptions
rescue
#Que faire si une exception se produit
end
ensure&else.
begin
#Traitement pouvant entraîner des exceptions
(#Etant donné que vous pouvez écrire le traitement lorsqu'une exception ne se produit pas ici, autrement est souvent inutile.)
(rescue)
(#Que faire si une exception se produit.)
(else)
#Que faire si aucune exception ne se produit
(ensure)
#Processus à exécuter indépendamment de la présence ou de l'absence d'exception
end
・ Le sauvetage n'est pas obligatoire. Vous pouvez terminer anormalement, mais s'il y a un processus que vous voulez faire avant qu'il ne se termine, vous pouvez simplement vous assurer -Cependant, dans des cas tels que passer un bloc à la méthode ouverte et "toujours libérer la source lorsqu'elle est utilisée", il est souvent possible de traiter automatiquement en utilisant une méthode avec un bloc, de sorte que la méthode s'assure peut ne pas entrer en jeu.
nom de la méthode def
case object
when :japan
'yen'
when :us
'dollar'
else
raise "Message d'erreur"
#=> RuntimeError: "Message d'erreur"
#Si rien n'est spécifié, RuntimeError sera appelé.
end
end
・ Si vous souhaitez appeler autre chose que RuntimeError, reportez-vous à ce qui suit.
① lever ArgumentError," message d'erreur "
② lever ArgumentError.new (" message d'erreur ")
Un morceau de traitement. Les blocs peuvent être objectivés avec Proc Dans Ruby, vous pouvez utiliser des blocs lors de l'appel de méthodes.
1 | 2 |
---|---|
chomp | Supprimer le caractère de saut de ligne |
scan | |
message | |
size(length) | |
open | |
inject | |
reject | |
brock.given? | Renvoie vrai si un bloc est passé |
Recommended Posts