Ciao,
Sto cercando di creare una classe ‘normale’ (non eredita da AR) che si puo
inizializzare piu` o meno come un AR:
Contact.new params
Ci sono riuscito facendo cosi`, ma vorrei sapere se ci sono “metodi”
(ha ha) migliori:
class Contact
@@classattrs = [:name, :via, :cap]
attr_accessor *@@classattrs
def initialize(params)
params.each do |k, v|
if @@classattrs.member? k
self.send(k.to_s + “=”, v)
end
end
end
end
prms = {:name => ‘fred’, :via => ‘con il vento’, :cap => 35100}
c = Contact.new prms
puts c.name
–
David N. Welton
Linux, Open Source Consulting
On 9/7/06, David W. [email protected] wrote:
Ciao,
Sto cercando di creare una classe ‘normale’ (non eredita da AR) che si puo
inizializzare piu` o meno come un AR:
Contact.new params
require ‘ostruct’
x = OpenStruct.new(:a => 1, :b => 2)
p a #=> 1
p b #=> 2
On Sep 8, 2006, at 11:45 AM, Massimiliano M. wrote:
x = OpenStruct.new(:a => 1, :b => 2)
p a #=> 1
p b #=> 2
x.foobar = “ma cosi’ puoi assegnare a x qualsiasi proprieta’”
=> “ma cosi’ puoi assegnare a x qualsiasi proprieta’”
On Sep 8, 2006, at 12:31 PM, Massimiliano M. wrote:
x.foobar = “ma cosi’ puoi assegnare a x qualsiasi proprieta’”
=> “ma cosi’ puoi assegnare a x qualsiasi proprieta’”
x.problems_I_see_with_that #=> nil
it_depends_on_what_david_intended_to_do(:with => x)
eheh
x.foobar = “ma cosi’ puoi assegnare a x qualsiasi proprieta’”
=> “ma cosi’ puoi assegnare a x qualsiasi proprieta’”
x.problems_I_see_with_that #=> nil
x.problems_I_see_with_that #=> nil
it_depends_on_what_david_intended_to_do(:with => x)
Direi che è caratteristica comune a tutte le soluzioni proposte e al
proporre soluzioni in generale. (Traduzione in Ruby lasciata come
esercizio ai volenterosi. :-))
“Massimiliano M.” [email protected] writes:
Direi che è caratteristica comune a tutte le soluzioni proposte e al
proporre soluzioni in generale. (Traduzione in Ruby lasciata come
esercizio ai volenterosi. :-))
soluzioni_proposte.caratteristiche.detect { |car|
soluzioni_proposte.inject(true) { |cond, sol| cond and sol.has? car} }
On Sep 9, 2006, at 2:30 AM, Andrea R. wrote:
Scusate se intervengo senza dire nulla che sia legato al post… ma
vedere i
messaggi scritti in questo modo mi fa troppo sorridere
Siamo nella via della ruby pazzia
La via della pazzia la percorrono quelli costretti a programmare
con abomini del genere di PHP (come spesso il sottoscritto, ahime’).
Ruby e’ la cosa piu’ sana di mente che esista
Scusate se intervengo senza dire nulla che sia legato al post… ma
vedere i
messaggi scritti in questo modo mi fa troppo sorridere
Siamo nella via della ruby pazzia
it_depends_on_what_david_intended_to_do(:with => x)
Effettivamente, a David serve una soluzione che scarta le chiavi non
desiderate:-) Andrebbero bene la mia versione, quella basata su
struct, e anche quella di AR hackerato per non guardare il DB.
Grazie per le risposte, e` stato istruttivo!
–
David N. Welton
Linux, Open Source Consulting