سلام درود خدمت همراهان همیشگی سایت پی وی لرن . با آموزش زبان برنامه نویسی #F همراهتون هستیم. در قسمت اول توالی در اف شارپ تعریف و ایجاد توالی بیان شد و همچنین جدولی مبنی بر عملیات پایه در نوع داده های توالی رو داشتیم. در قسمت دوم این بخش از آموزش جدول اعمال پایه ی توالی در #F رو ادامه می دهیم.
جدول اعمال پایه ی توالی در #F نشان می دهد که عملیات پایه در نوع داده های توالی چگونه است.
(ادامه جدول اعمال پایه ی توالی در #F جلسه قبل)
last : seq<‘T> → ‘T | آخرین عنصر دنباله را برمی گرداند. |
length : seq<‘T> → int | طول دنباله را برمی گرداند. |
<map : (‘T → ‘U) → seq<‘T> → seq<‘U | یک مجموعه جدید ایجاد می کند که عناصر آن نتایج اعمال تابع داده شده به هر یک از عناصر مجموعه است. تابع داده شده اعمال می شود به عنوان عناصر مورد نیاز با استفاده از روش MoveNext در enumerators بازیابی از object. |
map2 : (‘T1 → ‘T2 → ‘U) → seq<‘T1> → seq<‘T2> → seq<‘U> | یک مجموعه جدید ایجاد می کند که عناصر آن نتایج اعمال تابع داده شده به جفت های متناظر عناصر از دو توالی است. اگر یک توالی ورودی کوتاه تر از دیگری باشد، سپس عناصر باقی مانده توالی طولانی، نادیده گرفته می شوند. |
<mapi : (int → ‘T → ‘U) → seq<‘T> → seq<‘U | یک مجموعه جدید ایجاد می کند که عناصر آن نتایج اعمال تابع داده شده به هر یک از عناصر مجموعه است. ایندکس integer یا عدد صحیح منتقل شده به تابع نشان دهنده این است که ایندکس (از ۰) عنصر تبدیل شده است. |
max : seq<‘T> → ‘T | بزرگترین عنصر از توالی را با استفاده از Operators.max مقایسه می کند. |
maxBy : (‘T → ‘U) → seq<‘T> → ‘T | بزرگترین بازه از تمام عناصر توالی را با استفاده از Operators.max در نتیجه تابع مقایسه می کند. |
min : seq<‘T> → ‘T | کمترین مقدار تمام عناصر توالی را با استفاده از Operators.min مقایسه می کند. |
minBy : (‘T → ‘U) → seq<‘T> → ‘T | کمترین مقدار از تمام عناصر دنباله را با استفاده از Operators.min در نتیجه تابع مقایسه می کند و برمی گرداند. |
nth : int → seq<‘T> → ‘T | عنصر nth در مجموعه را محاسبه می کند. |
<ofArray : ‘T array → seq<‘T | آرایه داده شده را به عنوان توالی نمایش می دهد. |
<ofList : ‘T list → seq<‘T | لیست داده شده را به عنوان دنباله ای نمایش می دهد. |
<pairwise : seq<‘T> → seq<‘T * ‘T | دنباله ای از هر عنصر را در توالی ورودی و predecessor آن بازمی گرداند، به استثنای عنصر اول که تنها به عنوان predecessor از عنصر دوم بازگشته است. |
pick : (‘T → ‘U option) → seq<‘T> → ‘U | تابع داده شده را به عناصر متوالی اعمال می کند، اولین مقدار را باز می گرداند که در آن تابع یک مقدار Some را باز گردانده است. |
<readonly : seq<‘T> → seq<‘T | یک دنباله ی object جدید ایجاد می کند که object داده شده را منتقل می کند. این تضمین می کند که دنباله اصلی نمی تواند دوباره توسط یک نوع cast کشف شود و تغییر یابد. برای مثال، اگر یک آرایه دنباله بازگشتی داده شود عناصر آرایه را بازمی گرداند، اما شما نمی توانید یک object توالی بازگشتی را به آرایه منتقل کنید. |
reduce : (‘T → ‘T → ‘T) → seq<‘T> → ‘T | یک تابع را برای هر عنصر دنباله اعمال می کند، یک آرگومان accumulator را از طریق محاسبات تریدینگ می کند. با اعمال تابع به دو عنصر اول شروع کنید. سپس این نتیجه را به تابع همراه با عنصر سوم و غیره تغذیه کنید. نتیجه نهایی را بردارید. |
scan : (‘State → ‘T → ‘State) → ‘State → seq<‘T> → seq<‘State> | مانند Seq.fold، اما براساس on-demand محاسبه می شود و دنباله ای از نتایج واسطه و نهایی را به دست می آورد. |
<singleton : ‘T → seq<‘T | دنباله ای را که تنها یک آیتم را تولید می کند، بازمی گرداند. |
<skip : int → seq<‘T> → seq<‘T | بازگرداندن دنباله ای که تعداد مشخصی از عناصر توالی underlying را پرش یا skip می کند و سپس عناصر باقی مانده از دنباله را می دهد. |
skipWhile : (‘T → bool) → seq<‘T> → seq<‘T> | دنباله ای را بازمی گرداند که وقتی تکرار می شود، عناصر توالی underlying را اسکیپ می کند، در حالی که پیش فرض داده شده بازگرداندن true است . و سپس عناصر باقی مانده از دنباله را می دهد. |
<sort : seq<‘T> → seq<‘T | توالی مرتب شده توسط کلید ها را تولید می کند. |
sortBy : (‘T → ‘Key) → seq<‘T> → seq<‘T> | یک تابع key-generating را به هر عنصر یک دنباله اعمال می کند. همچنین توالی مرتب شده توسط key ها را تولید می کند. key ها با استفاده از مقایسه generic مقایسه می شوند توسط Operators.compare . |
sum : seq<^T> → ^T | مجموع عناصر در دنباله را بازمی گرداند. |
sumBy | مجموع نتایج حاصل از اعمال تابع به هر عنصر دنباله را بازمی گرداند. |
<take : int → seq<‘T> → seq<‘T | اولین عناصر توالی را به تعداد مشخصی بازمی گرداند. |
<takeWhile : (‘T → bool) → seq<‘T> → seq<‘T | یک دنباله را بازمی گرداند که وقتی تکرار می شود، عناصر توالی underlying را تولید می کند در حالی که پیش فرض داده شده باز گرداندن true است و سپس عناصر دیگر را باز نمی گرداند. |
[]toArray : seq<‘T> → ‘T | آرایه ای از مجموعه ی داده شده ایجاد می کند. |
toList : seq<‘T> → ‘T list | یک لیست از مجموعه داده شده ایجاد می کند. |
<truncate : int → seq<‘T> → seq<‘T | یک دنباله یا توالی را بازمی گرداند وقتی که enumerated بازگشتی مقداری بیش از تعداد مشخص شده عناصر را نداشته باشد. |
tryFind : (‘T → bool) → seq<‘T> → ‘T option | اولین عنصر را برای این که تابع داده شده true را برگرداند، بازمی گرداند. یا اگر هیچ عنصری وجود ندارد None را برمی گرداند. |
tryFindIndex : (‘T → bool) → seq<‘T> → int option | ایندکس اولین عنصر را در دنباله ای که پیش فرض داده شده را برآورده می کند. یا None اگر عنصر وجود نداشته باشد. |
tryPick : (‘T → ‘U option) → seq<‘T> → ‘U option | تابع داده شده را به عناصر متوالی اعمال می کند، اولین مقدار را باز می گرداند که تابع مقدار Some را باز گرداند. |
unfold : (‘State → ‘T * ‘State option) → ‘State → seq<‘T> | یک دنباله ای را که شامل عناصر تولید شده توسط محاسبات داده شده است، بازمی گرداند. |
where : (‘T → bool) → seq<‘T> → seq<‘T> | مجموعه جدیدی را که شامل تنها عناصری از مجموعه است را باز می گرداند که پیش فرض بازگرداندن true است ، با Seq.filter. |
windowed : int → seq<‘T> → seq<‘T []> | دنباله ای را می دهد که پنجره های کشویی حاوی عناصر کشیده شده از توالی ورودی را تولید می کند. هر پنجره به عنوان یک آرایه تازه بازگشته است. |
zip : seq<‘T1> → seq<‘T2> → seq<‘T1 * ‘T2> | دو توالی را به یک لیست از جفت ها متصل می کند. دو دنباله نیاز به یکسان بودن طول ندارد. زمانی که یک دنباله تمام می شود، هر عنصر باقی مانده در دنباله دیگر ، نادیده گرفته می شوند. |
zip3 : seq<‘T1> → seq<‘T2> → seq<‘T3> → seq<‘T1 * ‘T2 * ‘T3> | سه توالی را در یک لیست سه گانه ترکیب می کند. توالی ها نیاز به طول های برابر ندارند . زمانی که یک دنباله تمام می شود، هر عنصر باقی مانده در دنباله دیگر ، نادیده گرفته می شوند. |
خب اینم پایان جدول اعمال پایه ی توالی در #F
در قسمت دوم بررسی جدول اعمال پایه ی توالی در #F هستیم.
در این بخش با توالی یا دنباله در اف شارپ آشنا شدیم و مسائلی مانند مقایسه در توالی ها ،بازگرداندن مجموعه توالی ها ،ایجاد آرایه از مجموعه ی داده شده ،روش MoveNext و… رو بررسی نمودیم.
در جلسه بعد مثال هایی راجع به توالی های بیان شده و جدول اعمال پایه ی توالی در #F داریم.