تعریف رشته‌های متنی

تعریف رشته‌ها

برای تعریف کردن یک رشته متنی (string) می‌توان از علامت " استفاده کرد. شروع و پایان یک رشته متنی می‌بایست با کاراکتر نقل قول (کوتیشن مارک یا " مشخص شود). رشته‌های متنی در زبان برنامه نویسی آقای هاشمی، از استاندارد utf-8 پشتیبانی می‌کنند. به عنوان نمونه، نحوه کار با رشته‌ها را در نمونه کد زیر مشاهده می کنید:

// این فایل را با اسم strings_basic.hashem ذخیره می‌کنیم
bebin azinja() {
    payam = "درود جهان";
    bechap(payam);

    matn = "dorood jahan";
    bechap(matn);
}

خروجی

user@hashemi-lang-pc $ hashem ./strings_basic.hashem
درود جهان
dorood jahan
user@hashemi-lang-pc $

کاراکتر‌های خاص

در صورتی که بخواهیم داخل رشته، از کاراکترهای خاص استفاده کنیم، این کاراکتر‌ها را با علامت فرار (اسکیپ، خط مورب رو به عقب، و یا بک-اسلش \) نمایش می‌دهیم. در مثال زیر، بین کاراکترهای درود و جهان یک کاراکتر \n مشاهده می‌کنید. این کاراکتر به معنای خط جدید بوده (new line) و در خروجی نیز بخش دوم در خط جدید نمایش داده شده است.

// این فایل را با اسم strings_scapes.hashem ذخیره می‌کنیم
bebin azinja() {
    payam = "درود\nجهان";
    bechap(payam);

    matn = "1\tdoroodjahan";
    bechap(matn);
}

خروجی

user@hashemi-lang-pc $ hashem ./strings_scapes.hashem
درود
جهان
1   dorood jahan

چند نمونه از کاراکتر‌هایی که با علامت فرار \ نمایش داده می‌شوند را در جدول زیر مشاهده می‌نمایید.

توضیح      کاراکتر
======== =================
 \n         خط جدید
 \t           tab

تعریف بلوک متنی

در صورتی که بخواهیم متن طولانی‌ای در قالب رشته بنویسیم، اضافه کردن \n از خوانایی هاشمی‌اسکریپت های نوشته شده می‌کاهد. بنابرین، راهکار جایگزین می تواند استفاده از سه علامت نقل قول در آغاز و پایان رشته باشد ("""). در این حالت قادر خواهیم بود داخل متن خط جدید تعریف کنیم (کلید Enter بزنیم)

// این فایل را با اسم textarea.hashem ذخیره می‌کنیم

bebin azinja() {
  matn_toolani = """شعر از مولانا
خنک آن قمار بازی که بباخت آنچه بودش
بنماند هیچش الا هوس قمار دیگر
  """;
  bechap(matn_toolani); 
}

خروجی

user@hashemi-lang-pc $ hashem ./textarea.hashem
شعر از مولانا
خنک آن قمار بازی که بباخت آنچه بودش
بنماند هیچش الا هوس قمار دیگر