آموزش دونه:مرجع آموزش

آرایه ها در اف شارپ بخش دوم ( Fsharp Array2) آموزش برنامه نویسی اف شارپ #F

Fsharp Array2 Fsharp Array2 Fsharp Array2  Fsharp Array2 Fsharp Array2 Fsharp Array2 

اف شارپ

آرایه ها در زبان #F

در ادامه بررسی آرایه ها در زبان #F ،جدول زیر عملیات پایه در آرایه ها در زبان #F را نشان می دهد.( ادامه جدول عملیات پایه در آرایه ها در زبان #F جلسه قبل )

مقدارتوضیحات
mapi2 : (int → ‘T1 → ‘T2 → ‘U) → ‘T1 [] → ‘T2 [] → ‘U []آرایه ای ایجاد می کند که عناصر آن نتایج اعمال تابع عرضه شده به عناصر متناظر دو مجموعه است و همچنین ایندکس عناصر را منتقل می کند.دو آرایه ورودی باید طول یکسان داشته باشند؛ در غیر این صورت، ArgumentException مطرح شده است.
max : ‘T [] → ‘Tبزرگ ترین عناصر آرایه را بازگرداند. Operators.max برای مقایسه عناصر استفاده می شود.
maxBy : (‘T → ‘U) → ‘T [] → ‘Tبزرگ ترین عناصر یک آرایه را برمی گرداند، در نتیجه تابع با Operators.max مقایسه می شود.
min : (‘T [] → ‘Tکوچکترین عنصر از یک آرایه را بازگرداند. Operators.min برای مقایسه عناصر استفاده می شود.
minBy : (‘T → ‘U) → ‘T [] → ‘Tکوچکترین عنصر از یک آرایه را بازگرداند. Operators.min برای مقایسه عناصر استفاده می شود.
ofList : ‘T list → ‘T []آرایه را از لیست ارائه شده ایجاد می کند.
ofSeq : seq<‘T> → ‘T []یک آرایه از آبجکت قابل بررسی ارائه شده ایجاد می کند.
 []partition : (‘T → bool) → ‘T [] → ‘T [] * ‘Tیک آرایه را به دو آرایه تقسیم می کند.یکی شامل عناصری که برای شرایط عرضه شده true را باز می گرداند و دیگری حاوی آن هایی است که برای آن false را باز می گرداند.
[]permute : (int → int) → ‘T [] → ‘Tعناصر یک آرایه را با توجه به جایگزینی مشخص تعویض می کند.
pick : (‘T → ‘U option) → ‘T [] → ‘Uتابع عرضه شده را به عناصر متوالی یک آرایه ارائه شده اعمال می کند و نتیجه اول را باز می گرداند که در آن تابع (Some(x را برای برخی از x ها باز می گرداند.اگر تابع هرگز (Some(x را بازنگرداند، KeyNotFoundException اعلام شده است.
reduce : (‘T → ‘T → ‘T) → ‘T [] → ‘Tیک تابع را برای هر عنصر آرایه اعمال می کند.یک آرگومان accumulator را از طریق محاسبات تریدینگ می کند.

اگر تابع ورودی f باشد و عناصر آرایه i0 … iN باشد، این تابع f (… (f i0 i1) …) iN را محاسبه می کند. اگر آرایه صفر باشد، ArgumentException اعلام شده است.

reduceBack : (‘T → ‘T → ‘T) → ‘T [] → ‘Tیک تابع را برای هر عنصر آرایه اعمال می کند.یک آرگومان accumulator را از طریق محاسبات تریدینگ می کند.

اگر تابع ورودی f باشد و عناصر  i0 … iNهستند.

این تابع ((f i0 (…(f iN-1 iN را محاسبه می کند.

اگر آرایه صفر باشد، ArgumentException اعلام شده است.

rev : ‘T [] → ‘T []ترتیب عناصر در یک آرایه ارائه شده را تغییر می دهد.
scan : (‘State → ‘T → ‘State) → ‘State → ‘T [] → ‘State [])رفتارهایی مانند fold، اما نتایج متوسط ​​را با نتایج نهایی باز می گرداند.
scanBack : (‘T → ‘State → ‘State) → ‘T [] → ‘State → ‘State []رفتارهایی مانند foldBack، اما نتایج واسط را با نتایج نهایی باز می گرداند.
set : ‘T [] → int → ‘T → unitیک عنصر از یک آرایه را تعیین می کند.
[]sort : ‘T[] → ‘Tعناصر یک آرایه را مرتب می کند و آرایه جدید را باز می گرداند.Operators.compare برای مقایسه عناصر استفاده می شود.
[]sortBy : (‘T → ‘Key) → ‘T [] → ‘Tعناصر آرایه را با استفاده از تابع عرضه شده مرتب می کند تا عناصر را به نوعی که عملیات مرتب سازی بر اساس آن است، تبدیل کند.و یک آرایه جدید را بازگرداند. Operators.compare برای مقایسه عناصر استفاده می شود.
sortInPlace : ‘T [] → unitعناصر یک آرایه را با تغییر آرایه در محل، با استفاده از تابع مقایسه شده ارائه می دهد. Operators.compare برای مقایسه عناصر استفاده می شود.
sortInPlaceBy : (‘T → ‘Key) → ‘T [] → unitعناصر یک آرایه را با تغییر آرایه در محل، با استفاده از projection عرضه شده برای keys ها، مرتب می کند.Operators.compare برای مقایسه عناصر استفاده می شود.
sortInPlaceWith : (‘T → ‘T → int) → ‘T [] → unitعناصر یک آرایه را با استفاده از تابع مقایسه شده ی ارائه شده، برای تغییر آرایه در محل مرتب می کند.
 []sortWith : (‘T → ‘T → int) → ‘T [] → ‘Tعناصر یک آرایه را با استفاده از تابع مقایسه شده ارائه شده مرتب می کند.و یک آرایه جدید را باز می گرداند.
[]sub : ‘T [] → int → int → ‘Tیک آرایه را ایجاد می کند که شامل subrange عرضه شده است .که با شروع index و length مشخص شده است.
sum : ‘T [] → ^Tمجموع عناصر در آرایه را به دست می آورد.
sumBy : (‘T → ^U) → ‘T [] → ^Uمجموع نتایج حاصل شده توسط اعمال یک تابع به هر عنصر آرایه را بر می گرداند.
toList : ‘T [] → ‘T listآرایه ارائه شده را به لیست تبدیل می کند.
<toSeq : ‘T [] → seq<‘Tآرایه ارائه شده را به عنوان دنباله ای مشاهده می کند.
tryFind : (‘T → bool) → ‘T [] → ‘T optionعنصر اول را در آرایه ارائه شده بازمی گرداند که برای آن تابع عرضه شده true را برگرداند.اگر هیچ عنصری وجود نداشته باشد None را باز گرداند.
tryFindIndex : (‘T → bool) → ‘T [] → int optionایندکس اول عنصر را در یک آرایه بر می گرداند که شرایط عرضه شده را برآورده می کند.
tryPick : (‘T → ‘U option) → ‘T [] → ‘U optionتابع عرضه شده را به عناصر متوالی آرایه ارائه شده اعمال می کند و اولین نتیجه را باز می گرداند.که در آن تابع (Some(x را برای برخی از x باز می گرداند.

اگر تابع هرگز برنگرداند (Some(x را  None بازگردانده می شود.

[]unzip : (‘T1 * ‘T2) [] → ‘T1 [] * ‘T2آرایه ای از جفت های چندگانه را به دو آرایه ی چند گانه تقسیم کرده است.
unzip3 : (‘T1 * ‘T2 * ‘T3) [] → ‘T1 [] * ‘T2 [] * ‘T3 []آرایه چندتایی از سه عنصر را به سه آرایه جند تایی تقسیم می کند.
zeroCreate : int → ‘T []یک آرایه ایجاد می کند که عناصر آن ابتدا به مقدار پیش فرض <Unchecked.defaultof <‘T تنظیم شده است.
[](zip : ‘T1 [] → ‘T2 [] → (‘T1 * ‘T2دو آرایه را به یک آرایه ی چندتایی که دو عنصر دارد، ترکیب می کند.دو آرایه باید طول برابر داشته باشند؛ در غیر این صورت، ArgumentException مطرح شده است.
zip3 : ‘T1 [] → ‘T2 [] → ‘T3 [] → (‘T1 * ‘T2 * 113 ‘T3) []سه آرایه را به یک آرایه ی چندتایی که سه عنصر دارد ترکیب می کند.سه آرایه باید طول مساوی داشته باشند؛ در غیر این صورت، ArgumentException مطرح شده است.

مطالب مرتبط