Sto girando come un pazzo per la rete ma trovo tutte informazioni
diverse e framentate su dove Ruby sia prototype based.
Grazie per la risposta.
Sto girando come un pazzo per la rete ma trovo tutte informazioni
diverse e framentate su dove Ruby sia prototype based.
Grazie per la risposta.
Il giorno 15 Luglio 2009 10.52, Gian luca
Colotto[email protected] ha scritto:
Sto girando come un pazzo per la rete ma trovo tutte informazioni
diverse e framentate su dove Ruby sia prototype based.
a me risulta che non lo sia.
d’altronde o hai i prototype o hai le classi, e ruby ha le classi.
pietro
Pietro G. wrote:
Il giorno 15 Luglio 2009 10.52, Gian luca
Colotto[email protected] ha scritto:Sto girando come un pazzo per la rete ma trovo tutte informazioni
diverse e framentate su dove Ruby sia prototype based.a me risulta che non lo sia.
d’altronde o hai i prototype o hai le classi, e ruby ha le classi.
La mia affermazione era in effetti imprecisa, rifraso:
Ruby ha caratteristiche che lo rendono adatto ad essere usato come
linguaggio prototype-based.
L’unica cosa che gli manca è il meccanismo vero e proprio di prototype,
ma i meccanismi base ci sono; in particolare, il fatto di poter
ridefinire o undefinire un metodo su un oggetto e non necessariamente su
una classe.
Peraltro tra un oggetto e una classe Ruby non c’è quasi nessuna
differenza, se non una manciata di metodi predefiniti.
Questo non significa che Ruby sia prototype based, ma può comportarsi
come tale; idem per perl usando l’apposito modulo.
Ad ogni modo, Ecmascript 4 e OpenLaszlo sono due esempi di linguaggi in
cui coesistono prototypes e classi.
Andrea
diverse e framentate su dove Ruby sia prototype based.
L’unica cosa che gli manca è il meccanismo vero e proprio di prototype,
ma i meccanismi base ci sono; in particolare, il fatto di poter
ridefinire o undefinire un metodo su un oggetto e non necessariamente su
una classe.
giusto, tanto più che l’unico modo per definire un class method in ruby
è appunto con questo stile, ovvero
class C
def C.foo end
end
( o self.foo o class << self def foo )
cioè definendo un metodo che esiste solo per un’istanza della classe Class
C’è una differenza con altri linguaggi prototype based però, la relazione di
ereditarietà non è dinamica, cioè, non si può cambiare la superclasse di un
oggetto (a meno di sporchi trucchi ma è comunque molto semplice
implementarla se si vuole (method_missing e poco altro)
Peraltro tra un oggetto e una classe Ruby non c’è quasi nessuna
differenza, se non una manciata di metodi predefiniti.
Questo non significa che Ruby sia prototype based, ma può comportarsi
come tale; idem per perl usando l’apposito modulo.
idem per python, e son sicuro che in tcl non avrebbero problemi
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs