درس ۵ از ۲۵ · آغاز راه

رشته‌ها و متن

رشته‌ها متن‌اند و سلام از پایه با یونیکد کار می‌کند؛ پس متن فارسی مثل هر متن دیگری رفتار می‌کند.

شکل‌های نوشتن رشته

  • "..." رشته‌ی عادی است و نویسه‌های گریز مثل \n (خط تازه)، \t و \" در آن کار می‌کنند.
  • `...` (بک‌تیک) رشته‌ی خام است: هر چیزی درونش همان‌طور که هست می‌ماند و می‌تواند چندخطی باشد.
  • """...""" رشته‌ی چندخطی با پشتیبانی از نویسه‌های گریز است.
str-literals.salam
روال ریشه:
    سرچاپ "خط اول\nخط دوم"
    سرچاپ "ستون\tستون"
    سرچاپ "او گفت: \"سلام\""
    سرچاپ `مسیر C:\temp و "نقل‌قول" بدون گریز`
    شعر := """بنی آدم اعضای یکدیگرند
که در آفرینش ز یک گوهرند"""
    سرچاپ شعر
پایان
خروجیخط اول خط دوم ستون ستون او گفت: "سلام" مسیر C:\temp و "نقل‌قول" بدون گریز بنی آدم اعضای یکدیگرند که در آفرینش ز یک گوهرند

چسباندن رشته‌ها

با + رشته‌ها را به هم بچسبانید. اگر یک طرف عدد باشد، خودکار به متن تبدیل می‌شود.

str-concat.salam
روال ریشه:
    نام := "آرش"
    سن := ۲۵
    پیام := "سلام " + نام + "، شما " + سن + " سال دارید."
    سرچاپ پیام
پایان
خروجیسلام آرش، شما 25 سال دارید.

روش‌های رشته

str-methods.salam
روال ریشه:
    متن := "  زبان برنامه‌نویسی سلام  "
    تمیز := متن.پیراست()
    سرچاپ تمیز
    سرچاپ "salam".طول(), "salam lang".زیررشته(۰، ۵)
    سرچاپ "salam lang".بیاب("lang")
    بخش‌ها := "سیب,انار,انگور".بشکاف(",")
    سرچاپ بخش‌ها.طول(), بخش‌ها.بگیر(۱)
    سرچاپ "سلام".پیوست("!")
    سرچاپ "سلام".شمارنویسه()
پایان
خروجیزبان برنامه‌نویسی سلام 5 salam 6 3 انار سلام! 4
روشکار
طول()طول رشته به بایت
شمارنویسه()تعداد نویسه‌ها (برای متن فارسی)
زیررشته(آغاز، تعداد)بریدن تکه‌ای از رشته
بیاب(متن)جایگاه یک متن، یا -۱
بشکاف(جداکننده)شکستن رشته به فهرستی از تکه‌ها
پیراست()حذف فاصله‌های آغاز و پایان
پیوست(متن)چسباندن متن به انتها
به صحیح()، به اعشار()تبدیل متن به عدد