زبان روبی: هش ها

ببخشید که یکم طول کشید تا این قسمتو بذارم راستش یکم سرم شلوغ بود و نتونستم.

خوب هست که برای یادگیری بهتر این قسمت, مقاله قبلی رو مطالعه کنید:

https://virgool.io/ruby-lang/%D8%B2%D8%A8%D8%A7%D9%86-%D8%B1%D9%88%D8%A8%DB%8C-%D8%A7%D8%AF%D8%A7%D9%85%D9%87-%D9%85%D8%A8%D8%AD%D8%AB-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1-%D9%87%D8%A7-%D9%88-%D8%A2%D8%B1%D8%A7%DB%8C%D9%87-%D9%87%D8%A7-mqqa08msgrug




در این قسمت میخوایم به هش ها بپردازیم. هش ها هم نوعی آبجکت هستند که شبیه آرایه ها هستند فقط یه فرق دارند و اونم اینه که در آرایه ها اندیس هم به صورت اتوماتیک سیو میشه و هم عددی هست. اگه بخوایم برای آرایه اندیس بدیم کلا به مشکل برمیخوریم. برای تعریف هش ها باید مقادیر رو در بین {} یا کورلی بریس بذاریم و سپس اندیس آنرا بگذاریم. بعدش مقدار اون رو بعد از نوشتن <= بنویسیم. مثال:

hash = { 'one' => 1, 'two' => 2, 'three' => 3 }

میتونیم اندیس رو عدد هم بذاریم:

hash = { 1 => 'One', 2 => 'Two' }

هتی میتونیم آرایه هم بذاریم:

hash = { [20, 30] => "number" }

یا حتی میتونیم سیمبل هم بذاریم:

hash = { :one => '1' }

مقدار هم میتونه آرایه یا یه هش دیگه باشه:

hash = { 'numbers' => [ 1, 2, 3, 4, 5 ], 'fruits' => { 'first' => 'apple', 'second' => 'banana' } }

برای نشونه گیری مقدار یه هش میتونید مثل آرایه ها اندیس رو داخل دوتا براکت بذارید:

برای اضافه کردن داده به هش هم میتونید مثل نمونه زیر عمل کنید:

یه فانکشن هم هست که میتونید باهاش هش رو به آرایه تبدیل کنید که یه آرایه میسازه که در هر اندیس آرایه یه آرایه میسازه که اندیس صفرمش کلیدش هست و اندیس دوم مقدارش:

https://virgool.io/ruby-lang/%D8%B2%D8%A8%D8%A7%D9%86-%D8%B1%D9%88%D8%A8%DB%8C-%D8%A7%D8%AF%D8%A7%D9%85%D9%87-%D9%85%D8%A8%D8%AD%D8%AB-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1-%D9%87%D8%A7-%D9%88-%D8%A2%D8%B1%D8%A7%DB%8C%D9%87-%D9%87%D8%A7-mqqa08msgrug
https://virgool.io/ruby-lang/%D8%B2%D8%A8%D8%A7%D9%86-%D8%B1%D9%88%D8%A8%DB%8C-%D8%A7%D8%AF%D8%A7%D9%85%D9%87-%D9%85%D8%A8%D8%AD%D8%AB-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1-%D9%87%D8%A7-%D9%88-%D8%A2%D8%B1%D8%A7%DB%8C%D9%87-%D9%87%D8%A7-mqqa08msgrug

میتونید از تابع to_s هم استفاده کنید.

برای حذف مقدار هم میتونید از تابع delete استفاده کنید:

با توابع first و last هم میتونید اولین و اخرین عضو هش رو بگیرید.

این قسمت هم دیگه چیز خاصی نداره و میریم سراغ قسمت بعد. میتونید از لینک زیر قسمت بعدی رو دنبال کنید.

https://virgool.io/ruby-lang/%D8%B2%D8%A8%D8%A7%D9%86-%D8%B1%D9%88%D8%A8%DB%8C-%D8%A7%D8%AF%D8%A7%D9%85%D9%87-%D8%AA%D8%A7-%D8%B4%D8%B1%D8%B7%DB%8C-%D9%87%D8%A7-jimdslgeslq4

پیروز باشید.