برنامه نویسی

اجتناب از خطاهای صفر – جامعه dev

در اینجا یک روش سریع برای جلوگیری از خطاهای صفر و به دست آوردن خرابی های بهتر در روبی و روبی روی ریل وجود دارد. هش را با کلیدهای شناخته شده به ساختار تبدیل کنید:

data = { a: 1, b: 2, c: 3}
...
MyData = Struct.new(:a,:b,:c)
data = MyData.new(a: 1, b: 2, c: 3)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اگر به جای بازگشت صفر ، یک تایپی را معرفی کنید ، ساختار پرتاب می شود. این حلقه بازخورد شما را محکم می کند و زمان اشکال زدایی را کاهش می دهد.

hash[:d] => nil
struct[:d] => in 'Struct#[]': no member 'd' in struct (NameError)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خیلی عالی است در موقعیت های سیال تر مانند ورودی کاربر چیست؟ شما می توانید هش های ورودی دلخواه را به سرعت با موارد زیر به ساختارهای شناخته شده تبدیل کنید:

params = {a: 1, b: 2, c: 3, x: 9, z: 0}
MyData.new(**params.slice(*MyData.members))
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خطرات

در حالی که سازه ها همان رابط کاربری مشابه هش را دارند ، تفاوت های پیچیده ای وجود دارد.

  • هش#هر کدام معادل ساختار###pair است.
  • کلیدهای Hash#معادل اعضای ساختار#است.
  • هیچ معادل Hash#Fetch وجود ندارد.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا