عملگرهای تخصیصی (جایگزینی)

نوع دیگر از عملگرهای Ruby عملگرهای جایگزینی نام دارند. این عملگرها مقدار متغیر سمت راست خود را در متغیر سمت چپ قرار می‌دهند. جدول زیر انواع عملگرهای تخصیصی در Ruby را نشان می‌دهد:

عملگر مثال نتیجه
= var1 = var2 مقدار var1 برابر است با مقدار var2
+= var1 += var2 مقدار var1 برابر است با حاصل جمع var1 و var2
-= var1 -= var2 مقدار var1 برابر است با حاصل تفریق var1 و var2
*= var1 *= var2 مقدار var1 برابر است با حاصل ضرب var1 در var2
/= var1 /= var2 مقدار var1 برابر است با حاصل تقسیم var1 بر var2
%= var1 %= var2 مقدار var1 برابر است با باقیمانده تقسیم var1 بر var2
**= var1 **= var2 مقدار var1 برابر است با var1 به توان var2

از عملگر =+ برای اتصال دو رشته نیز می‌توان استفاده کرد. استفاده از این نوع عملگرها در واقع یک نوع خلاصه نویسی در کد است. مثلاً شکل اصلی کد var1 += var2 به صورت var1 = var1 + var2 می‌باشد. این حالت کدنویسی زمانی کارایی خود را نشان می‌دهد که نام متغیرها طولانی باشد. برنامه زیر چگونگی استفاده از عملگرهای تخصیصی و تأثیر آنها را بر متغیرها نشان می‌دهد.

 1: puts "Assigning 10 to number..."
 2: number = 10
 3: puts "Number = #{number}"
 4: 
 5: puts "Adding 10 to number..."
 6: number += 10
 7: puts "Number = #{number}"
 8: 
 9: puts "Subtracting 10 from number..."
10: number -= 10
11: puts "Number = #{number}"
Assigning 10 to number...
Number = 10
Adding 10 to number...
Number = 20
Subtracting 10 from number...
Number = 10

در برنامه از 3 عملگر تخصیصی استفاده شده است. ابتدا یک متغیر و مقدار 10 با استفاده از عملگر = به آن اختصاص داده شده است. سپس به آن با استفاده از عملگر =+ مقدار 10 اضافه شده است. و در آخر به وسیله عملگر =- عدد 10 از آن کم شده است.