برنامه نویسی
“!” و “؟” در روش های روبی

به لطف ملاقاتی که با یک دانش آموز داشتم، در مورد روش های منظمی که روبی خوانایی کد خود را بهبود می بخشد، یاد گرفتم!
روش های یاقوت سرخ که با !
نشان می دهد که شیئی که روی آن عمل می کند را تغییر می دهد.
به عنوان مثال، با استفاده از reverse
متد آرایه را با موارد به ترتیب معکوس برمی گرداند. وقتی دوباره آرایه را فراخوانی می کنید، به همان حالت اولیه باز می گردد.
a = ["red", "yellow", "blue", "pink"]
a.reverse
# => ["pink", "blue", "yellow", "red"]
a = ["red", "yellow", "blue", "pink"]
با این حال، هنگامی که شما اضافه کنید !
تا پایان متد، آن را بازنویسی می کند و آرایه را تغییر می دهد!
a = ["red", "yellow", "blue", "pink"]
a.reverse!
# => ["pink", "blue", "yellow", "red"]
a = ["pink", "blue", "yellow", "red"]
روش های یاقوت سرخ که با ?
نشان می دهد که یک Boolean برمی گرداند.
4.odd? # => false
5.odd? # => true
6.even? # => true