ארכיון יומי: 12 יולי, 2009

טיפ ברובי: מחרוזות heredoc

הטיפ הבא נכון לרוב (אם לא כל) השפות אשר משתמשות במחרוזות heredoc.

מה היא מחרוזת heredoc ?

הדבר הבא:

foo = <<EOF
bla bla
EOF

הסוג מחרוזת הזו נקראת heredoc.

אפשר אבל להגיד למפרש של רובי (וכמעט אם לא כל השפות האחרות התומכות בו), איך להתייחס לתוכן שנמצא בפנים. כלומר האם זו מחרוזת מפורשת או מחרוזת מילולית, כלומר האם זו מחרוזת עם " (גרשיים – מפורשת) או מחרוזת עם ' (גרש בודד – מילולית). אנחנו נעשה את זה בצורה הבאה:

bar = <<"EOF"
#{foo}
EOF

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

במידה ונכתוב את bar בצורה הבאה:

bar= <<'EOF'
#{foo}
EOF

אנחנו כמובן נקבל את #{foo} בתור המחרוזת, במקום את התוכן של foo.

ותודה לירון על הלימוד של זה 🙂