دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۶
  • اردیبهشت

جلسه ۱۱ : رشته ها در #F

  • دسته‌بندی‌ها :
جلسه ۱۱ : رشته ها در #F
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      سلام درود خدمت همراهان همیشگی سایت پی وی لرن . با آموزش زبان برنامه نویسی #F همراهتون هستیم. رشته ها از انواع داده هایی هستند که تقریبا در تمام زبان های برنامه نویسی یافت می شوند. رشته به وسیله کلمه کلیدی string بیان می شود. یک رشته گروهی از کاراکترها شامل اعداد و حروف و نشانه ها می باشند. در ادامه توضیحات بیش تری راجع به رشته ها در #F و همچنین روش های نادیده گرفتن Escape Sequence در #F رو خواهیم داشت.

      رشته ها در #F

      در #F ،نوع string متنی تغییر ناپذیر را به عنوان دنباله ای از کاراکترهای یونیکد نشان می دهد.

      String Literals

      String Literals توسط علامت نقل قول (“) مشخص شده اند.

      کاراکترهای ویژه دیگری برای استفاده های خاص مانند خط جدید، تب و غیره وجود دارد.

      آن ها با استفاده از کاراکتر backslash (\) کدگذاری می شوند.

      کاراکتر backslash و کاراکترهای مربوطه به وسیله escape sequence ساخته می شوند.

      جدول زیر escape sequence هایی را که توسط #F پشتیبانی می شود نشان می دهد.

      کاراکترEscape sequence
      Backspaceb\
      Newlinen\
      Carriage returnr\
      Tabt\
      Backslash\\
      Quotation mark“\
      Apostrophe‘\
      Unicode characteruXXXX\ یا UXXXXXXXX\ (جایی که X نشان دهنده یک رقم شانزده رقمی است)

      روش های نادیده گرفتن Escape Sequence در #F

      دو روش زیر باعث می شود کامپایلر دنباله فرار را نادیده بگیرد .

      • با استفاده از نماد @
      • در بین triple quotes قرار گیرد.

      هنگامی که نماد @ قبل از رشته ای از حروف آید، verbatim string نامیده می شود.

      به این ترتیب،

      تمام دنباله فرار یا Escape Sequence در رشته نادیده گرفته می شوند، به جز این که دو کاراکتر quotation mark به عنوان یک quotation mark تفسیر می شوند.

      هنگامی که یک رشته با نقل قول های سه گانه (triple quotes) محصور می شود، در این صورت نیز تمامی Escape Sequence نادیده گرفته می شوند،

      از جمله کاراکتر های علامت نقل قول دوگانه.

      مثال

      مثال زیر این تکنیک را نشان می دهد و خواهد گفت که چگونه با XML یا سایر ساختارهایی که شامل علامت نقل قول جاسازی شده هستند کار کنید.

      ( روش های نادیده گرفتن Escape Sequence در #F )

      مثال : 

      هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند .

      مثال : 

      عملگرهای پایه در رشته ها

      جدول زیر عملیات اساسی در رشته ها در #F را نشان می دهد .

      مقدارتوضیحات
      collect : (char → string) → string → stringیک رشته جدید ایجاد می کند که کاراکتر ها نتایج استفاده از یک تابع مشخص برای هر یک از کاراکترهای رشته ورودی و پیوند دادن رشته های حاصل است.
      concat : string → seq<string> → stringیک رشته جدید ایجاد شده توسط ترکیب رشته های داده شده با یک جداکننده را برمی گرداند.
      exists : (char → bool) → string → boolتست اگر هر کاراکتر رشته مطابق با پیش فرض داده شده باشد.
      forall : (char → bool) → string → boolتست اگر تمام کاراکترها در رشته مطابق با پیش فرض داده شده باشند.
      init : int → (int → string) → stringیک رشته جدید ایجاد می کند که کاراکتر ها نتایج استفاده از یک تابع مشخص برای هر رشته و ترکیب رشته های حاصل است.
      iter : (char → unit) → string → unitیک تابع مشخص برای هر کاراکتر در رشته اعمال می شود.
      iteri : (int → char → unit) → string → unitیک تابع مشخص را به شاخص یا ایندکس هر کاراکتر در رشته و کاراکتر خود اعمال می کند.
      length : string → intطول رشته را باز می گرداند.
      map : (char → char) → string → stringیک رشته جدید ایجاد می کند که کاراکترها نتایج استفاده از یک تابع مشخص برای هر یک از کاراکترهای رشته ورودی است.
      mapi : (int → char → char) → string → stringیک رشته جدید ایجاد می کند که شخصیت ها نتایج استفاده از یک تابع مشخص برای هر کاراکتر و شاخص یا ایندکس رشته ورودی است.
      replicate : int → string → stringرشته با تلفیق تعداد مشخصی از نمونه های یک رشته باز گردانده می شود.

      مثال های زیر استفاده از برخی از ویژگی های فوق را نشان می دهد.

      مثال ۱

      تابع String.collect یک رشته جدید ایجاد می کند که کاراکترها نتایج استفاده از یک تابع مشخص برای هر یک از کاراکترهای رشته ورودی و ترکیب رشته های حاصل هستند.

      مثال : 

      هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.

      مثال : 

      مثال ۲

      تابع String.concat ترکیبی از توالی مشخصی از رشته ها با جدا کننده و یک رشته جدید را باز می گرداند.

      مثال : 

      هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.

      مثال : 

      مثال ۳

      روش String.replicate یک رشته را با تلفیق تعداد مشخصی از نمونه های یک رشته به ارمغان می آورد.

      مثال : 

      هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.

      مثال : 

      کلام پایانی

      با توجه به توضیحات بالا دیدیم که رشته به وسیله کلمه کلیدی string بیان می شود.

      توضیحات بیش تری راجع به رشته ها در #F و همچنین روش های نادیده گرفتن Escape Sequence در #F رو نیز بیان نمودیم.

      QR:  جلسه ۱۱ : رشته ها در #F
      به اشتراک بگذارید