کتابخانه‌ی استاندارد · عدد و مجموعه

نوع‌ها types

تشخیص نوع مقدار از روی متن: عدد صحیح است، اعشاری، منطقی یا متن معمولی؟

واردسازی نوع‌ها

وقتی داده از پرونده‌ی CSV، فرم یا خط فرمان می‌رسد، همه‌چیز متن است. بسته‌ی نوع‌ها می‌گوید هر متن شبیه چه نوع مقداری است، پیش از آن‌که بخواهید تبدیلش کنید. رقم‌های فارسی و عربی هم شناخته می‌شوند.

پایاها و متغیرها

نوع خالی TypeKindNull

پایا نوع خالی: صحیح۳۲ = 0
نوع متن خالی.
types-KindOf.salam
واردسازی نوع‌ها

روال ریشه:
    هر م در ["۴۲"، "3.5"، "true"، "سلام"، ""]:
        ن := نوع‌ها.نوعِ(م)
        سرچاپ "[" + م + "]"، ن، نوع‌ها.نام نوع(ن)، نوع‌ها.صحیح است(م)، نوع‌ها.اعشاری است(م)، نوع‌ها.عددی است(م)، نوع‌ها.منطقی است(م)
    پایان
    سرچاپ نوع‌ها.نوعِ("7") == نوع‌ها.نوع صحیح، نوع‌ها.نوع خالی، نوع‌ها.نوع منطقی، نوع‌ها.نوع اعشاری، نوع‌ها.نوع رشته
پایان
خروجی[۴۲] 2 int true false true false [3.5] 3 float false true true false [true] 1 bool false false false true [سلام] 4 string false false false false [] 0 null false false false false true 0 1 3 4

نوع منطقی TypeKindBool

پایا نوع منطقی: صحیح۳۲ = 1
نوع مقدار منطقی (true یا false).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: types-KindOf.salam

نوع صحیح TypeKindInt

پایا نوع صحیح: صحیح۳۲ = 2
نوع عدد صحیح.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: types-KindOf.salam

نوع اعشاری TypeKindFloat

پایا نوع اعشاری: صحیح۳۲ = 3
نوع عدد اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: types-KindOf.salam

نوع رشته TypeKindStr

پایا نوع رشته: صحیح۳۲ = 4
هر متن دیگر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: types-KindOf.salam

روال‌ها

صحیح است IsInt

روال صحیح است(s: رشته): منطقی
اگر متن یک عدد صحیح باشد، با علامت یا بدون علامت، درست برمی‌گرداند. رقم فارسی و عربی هم پذیرفته است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: types-KindOf.salam

اعشاری است IsFloat

روال اعشاری است(s: رشته): منطقی
اگر متن یک عدد اعشاری باشد (با ممیز یا نماد علمی مثل 2e5) درست برمی‌گرداند. ممیز فارسی ٫ هم پذیرفته است. عدد صحیح اینجا حساب نمی‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: types-KindOf.salam

عددی است IsNumeric

روال عددی است(s: رشته): منطقی
اگر متن عدد صحیح یا اعشاری باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: types-KindOf.salam

منطقی است IsBool

روال منطقی است(s: رشته): منطقی
اگر متن true یا false باشد، با هر بزرگی و کوچکی حرف، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: types-KindOf.salam

نوعِ KindOf

روال نوعِ(s: رشته): صحیح
نوع متن را به شکل یکی از ثابت‌های بالا برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: types-KindOf.salam

نام نوع KindName

روال نام نوع(k: صحیح): رشته
نام انگلیسی یک نوع را برمی‌گرداند، مثل int.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: types-KindOf.salam

یکسان Equal

روال یکسان<T>(a: وکتور<T>، b: وکتور<T>): منطقی
اگر دو وکتور هم‌اندازه باشند و همه‌ی عضوهایشان به ترتیب برابر، درست برمی‌گرداند.
types-Equal.salam
واردسازی نوع‌ها

روال ریشه:
    ناپایا الف := وکتور {} برگردان وکتور<صحیح>
    ناپایا ب := وکتور {} برگردان وکتور<صحیح>
    دیرکن الف.آزادکن()
    دیرکن ب.آزادکن()
    الف.بیفزا(۱)
    الف.بیفزا(۲)
    ب.بیفزا(۱)
    ب.بیفزا(۲)
    سرچاپ نوع‌ها.یکسان(الف، ب)
    ب.بیفزا(۳)
    سرچاپ نوع‌ها.یکسان(الف، ب)
پایان
خروجیtrue false