amiref
یک شنبه 03 مرداد 1389, 11:57 صبح
سلام
کسی مفهوم symbol رو در ruby میدونه ؟
r00tkit
یک شنبه 03 مرداد 1389, 13:07 عصر
سلام
جایی ندیدم یه تعریف از symbol باشه همیشه تو کتاب ها خواصش رو به عنوان تعریفش بیان می کنن
منم همین کار رو می کنم
در اصل مفسر روبی یه جدول داره برای نگه داری اسم کلاس ها متود ها و متغیر ها که می شناسشون
که برای کار های درونی ازش استفاده می کنه
اما سیمبول ها فقط توسط مفسر استفاده نمی شه بلکه برنامه نویس هم می تونه ازش استفاد کنه
شما می تونی با استفاده از یه : یه سیمبول درست کنی
که طرف راست : می تونه یه رشته باشه یا یه اسم
مثال:
:"geek"
:geek
شما می تونی سیمبول رو یه رشته در نظر بگیری با این فرق
1) چند تا رشته می تونی داشته باشی که محتواشون یکی باشه ولی به جا های مخطلف اشاره کنن یعنی شی های مخطلف باشه
2) سیمبول برخلاف رشته در روبی immutable هستش و همچنین garbage-collect نمی شه
3)Symbol objects represent names and some strings inside the Ruby interpreter.
مثال زیر رو داشته باش:
array = ["foo", "foo", "foo", :foo, :foo, :foo]
سه تا رشته ی اولی سه شی جدا هستن ولی 3 تای دومی همشون به یه جا اشاره می کنن
intern وto_sym برای تبدیل کردن به سیمبول استفاده می شه
امید وارم کمی کرده باشم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.