module Pigged
String.class_eval do
def pig
newstring = self + self[0]; newstring[0] = ""; newstring += "ay"
return newstring
end
end
end
è il codice pertinente. Quello che voglio fare è creare un metodo, pig!
, che modifichi la stringa originale. Come posso farlo senza modificare me stesso, perché non è permesso ...?Modifica Self, Ruby
davvero. Ci sono * tonnellate * di cose nella libreria che fanno. Prendi 'String # <<', per esempio. Questo modifica la stringa esistente ed è uno dei metodi più usati in tutta la programmazione di Ruby (dietro cose come 'puts' e' + '). – Linuxios
Questa risposta è migliore: http://stackoverflow.com/a/10391724/199712 –