J'utilise Ruby 1.8.5 et je voudrais utiliser une méthode d'aide pour aider à filtrer les préférences d'un utilisateur comme ceci:Comment puis-je passer de nouveau plusieurs arguments de méthode dans Ruby 1.8.5?
def send_email(user, notification_method_name, *args)
# determine if the user wants this email
return if !user.send("wants_#{notification_method_name}?")
# different email methods have different argument lengths
Notification.send("deliver_#{notification_method_name}", user, *args)
end
Cela fonctionne en Ruby 1.8.6, mais lorsque je tente de faire cela en 1.8.5 et essayer d'envoyer plus d'un arg je reçois une erreur le long des lignes de:
nombre incorrect d'arguments (2) pour X
où X est le nombre d'arguments cette méthode particulière nécessite. Je préfère ne pas réécrire toutes mes méthodes de notification - Ruby 1.8.5 peut-il gérer cela?
Par curiosité, pourquoi * pas * utiliser Ruby 1.8.6? – Matchu
Pourquoi pas 1.8.7 qui est à jour pour Ruby 1.8. –
Existe-t-il un tag pour les anciennes versions de ruby? –