ahmed1990 نشر 29 أكتوبر 2015 أرسل تقرير نشر 29 أكتوبر 2015 لنفترض أن لدي الكائن Gift مع المتغيرات @name = "book" و @price = 15.95 فما هي أفضل طريقة لتحويل محتويات هذا الكائن إلى hash كما في المثال التالي:{name: "book", price: 15.95} اقتباس
0 هشام رزق الله نشر 30 أكتوبر 2015 أرسل تقرير نشر 30 أكتوبر 2015 يمكننا فعل ذلك بعدة طرق باستخدام روبي أو ريلز، فمثلا يمكننا استعمال حلقة التكرار لتكرار جميع القيم الموجودة ومن ثم استخدام عدّة توابع مثل instance_variable_get و to_s وdelete للتحويل إلى hash كما في المثال التالي:class Gift def to_hash hash = {} instance_variables.each {|var| hash[var.to_s.delete("@")] = instance_variable_get(var) } hash end end h = Gift.new("Book", 19).to_hashكما يمكنك استخدام هذه الطريقة التي استعملنا فيها توابع متنوعة مثل to_sym وinstance_variable_get حيث استخدمنا حلقة التكرار map لنتمكن من التعامل مع كل عنصر وفي النهاية استخدمنا التابع to_h للتحويل إلى hash:class Gift def to_hash instance_variables.map do |var| [var[1..-1].to_sym, instance_variable_get(var)] end.to_h end end اقتباس
السؤال
ahmed1990
لنفترض أن لدي الكائن Gift مع المتغيرات @name = "book" و @price = 15.95 فما هي أفضل طريقة لتحويل محتويات هذا الكائن إلى hash كما في المثال التالي:
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.