הכוח gsub

במידה ואתם עובדים עם רובי, יש ביכולתכם להרחיב הרבה יכולות של פונקציות ומתודות הרבה מעבר למה שזה נראה במקור.

דוגמה לכך תעשה על ידי על ידי המתודה gsub של המחלקה String . בברירת מחדל מאפשרת לנו המתודה לעבוד עם regex ולקחת חוק בשפה ולהחליף את התוכן שלו במשהו אחר. אבל מה קורה אם אנחנו צריכים מעט יותר פעולות בשביל לקבוע במה הוא יתחלף ? או שנכתוב משהו שיעטוף לנו את המתודה, או שננצל את הכוח של רובי.

1. שימוש "רגיל" ב gsub:

'Hello world'.gsub(/^Hello/, 'GoodBye cruel')

ובכן בשביל זה אפשר "לכופף" את רובי בצורה הבאה:

2. שימוש מתקדם בgsub:

'Hello world'.gsub(/^\w+/) do |match|
match = 'GoodBye cruel' if 'Hello' == match
end

ובכך אפשר בעצם ליצור הרבה מאוד דברים כאשר המחרוזת שנמצאה מתאימה למה שאנחנו ביקשנו בחוק. חשוב לדעת שאי מתן טקסט ל match (או כל שם אחר שתספקו) ימחק את מה שנמצא.

כתיבת תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s