10
votes

Question sur le remplacement + opérateur de Ruby

Un convertir récent en rubis ici. La question suivante n'est pas vraiment pratique; C'est plus une question sur la façon dont les internes de Ruby fonctionnent. Est-il possible de remplacer l'opérateur d'addition standard pour accepter plusieurs entrées? Je suppose que la réponse est non, étant donné que l'opérateur d'addition est une standard, mais je voulais m'assurer que je ne manquais pas quelque chose.

ci-dessous est le code que j'ai écrit rapidement pour vérifier mes pensées. Note, c'est complètement trivial / artificiel. xxx


0 commentaires

3 Réponses :


5
votes

Vous pouvez définir la méthode + code> comme celle-là, mais vous ne pourrez que l'appeler à l'aide de la syntaxe d'appel de méthode normale:

pt1.+(1,1)


0 commentaires

1
votes

Vous pouvez obtenir quelque chose de similaire à l'aide de tableaux: xxx

et ultérieurez-le comme suit: xxx

Vous pouvez également le combiner avec Chandra's solution, pour accepter les matières et les points comme des arguments.


0 commentaires

14
votes

Vous ne devez pas muté l'objet lors de la mise en œuvre de + . Au lieu de renvoyer un nouvel objet de point: xxx


1 commentaires

Je suis d'accord avec cette mise en œuvre, comme cela a le plus de sens, mais cela était plus d'une expérience lente au travail au travail