enum std :: گزینه :: گزینه

ساخت وبلاگ

اگر گزینه برخی باشد و مقدار آن با یک محمول مطابقت داشته باشد ، درست برمی گردد.

مثال ها

pub const fn is_none(&self)>غوغا

اگر گزینه یک مقدار هیچ باشد ، درست برمی گردد.

مثال ها

pub const fn as_ref(&self)>گزینه

تبدیل از گزینه به گزینه.

مثال ها

یک گزینه را به یک گزینه تبدیل می کند و نسخه اصلی را حفظ می کند. روش MAP با مصرف اصلی ، استدلال خود را با ارزش می گیرد ، بنابراین این تکنیک از AS_REF استفاده می کند تا ابتدا گزینه ای را برای مراجعه به مقدار موجود در اصل انتخاب کند.

pub fn as_mut(&mut self)>گزینه

گزینه را از گزینه و گزینه به گزینه تبدیل می کند.

مثال ها

pub fn as_pin_ref(self: Pin>)> Option>

pub fn as_pin_mut(self: Pin>)> Option>

pub fn expect(self, msg: &str)> T

مقداری ارزش را برمی گرداند و ارزش خود را مصرف می کند.

هراس

وحشت اگر مقدار یک پیام با پیام وحشت سفارشی است که توسط MSG ارائه شده است.

مثال ها
سبک پیام توصیه شده

ما توصیه می کنیم که از پیام های انتظار برای توصیف دلیل انتظار گزینه استفاده می شود.

نکته: اگر در یادآوری نحوه بیان پیام های خطا در انتظار پیام های خطا هستید ، به یاد داشته باشید که روی کلمه "باید" تمرکز کنید ، همانطور که در "متغیر ENV باید توسط Blah تنظیم شود" یا "باینری داده شده باید توسط کاربر فعلی در دسترس باشد و قابل اجرا باشد"واد

برای اطلاعات بیشتر در مورد سبک های پیام و استدلال در مورد توصیه ما ، لطفاً به بخش "سبک های پیام مشترک" در اسناد ماژول خطای STD :: مراجعه کنید.

pub fn unwrap(self)> T

مقداری ارزش را برمی گرداند و ارزش خود را مصرف می کند.

از آنجا که این عملکرد ممکن است وحشت کند ، استفاده از آن به طور کلی دلسرد می شود. درعوض ، ترجیح می دهید از تطبیق الگوی استفاده کنید و به طور صریح مورد را اداره کنید ، یا با UNWRAP_OR ، UNWRAP_OR_ELSE یا UNNRAP_OR_DEFAULT تماس بگیرید.

هراس

وحشت اگر ارزش خود برابر با هیچ باشد.

مثال ها

pub fn unwrap_or(self, default: T)> T

مقداری مقداری یا پیش فرض ارائه شده را برمی گرداند.

استدلال های منتقل شده به UNWRAP_OR مشتاقانه ارزیابی می شوند. اگر نتیجه تماس عملکردی را می گذرانید ، توصیه می شود از UNWRAP_OR_ELSE استفاده کنید که با تنبلی ارزیابی می شود.

مثال ها

pub fn unwrap_or_else(self, f: F)> T where F: FnOnce()>t ،

مقداری مقدار حاوی را برمی گرداند یا آن را از بسته شدن محاسبه می کند.

مثال ها

pub fn unwrap_or_default(self)>t Where t: پیش فرض ،

مقداری مقدار یا پیش فرض را برمی گرداند.

استدلال خود را مصرف می کند ، اگر برخی ، مقدار موجود را برگردانند ، در غیر این صورت اگر هیچ کدام ، مقدار پیش فرض را برای آن نوع باز می گرداند.

مثال ها

pub unsafe fn unwrap_unchecked(self)> T

مقداری مقداری حاوی را برمی گرداند و ارزش خود را مصرف می کند ، بدون اینکه بررسی کند که مقدار هیچ کدام نیست.

امنیت
مثال ها

pub fn map(self, f: F)> Option where F: FnOnce(T)>تو ،

با استفاده از یک تابع به یک مقدار موجود ، گزینه ای را به گزینه می رساند.

مثال ها

یک گزینه را به یک گزینه تبدیل می کند و از اصل استفاده می کند:

pub fn inspect(self, f: F)>گزینه ای که f: fnonce (& t) ،

بسته شدن ارائه شده را با مراجعه به مقدار موجود (در صورت برخی) فراخوانی می کند.

مثال ها

pub fn map_or(self, default: U, f: F)> U where F: FnOnce(T)>تو ،

نتیجه پیش فرض ارائه شده را برمی گرداند (در صورت عدم وجود) ، یا تابعی را برای مقدار موجود (در صورت وجود) اعمال می کند.

آرگومان های منتقل شده به map_or مشتاقانه ارزیابی می شوند. اگر نتیجه تماس عملکردی را می گذرانید ، توصیه می شود از MAP_OR_ELSE استفاده کنید ، که تنبلی ارزیابی می شود.

مثال ها

pub fn map_or_else(self, default: D, f: F)> U where D: FnOnce()> U, F: FnOnce(T)>تو ،

یک نتیجه عملکرد پیش فرض را محاسبه می کند (در صورت عدم وجود) ، یا یک تابع متفاوت را برای مقدار موجود (در صورت وجود) اعمال می کند.

مثال ها

pub fn ok_or(self, err: E)>نتیجه

گزینه را به نتیجه تبدیل می کند ، برخی از (v) را به OK (v) و هیچ یک از اشتباه (خطا) نقشه برداری می کند.

آرگومان های منتقل شده به OK_OR مشتاقانه ارزیابی می شوند. اگر نتیجه تماس عملکردی را می گذرانید ، توصیه می شود از OK_OR_ELSE استفاده کنید ، که تنبلی ارزیابی می شود.

مثال ها

pub fn ok_or_else(self, err: F)> Result where F: FnOnce()>ه ،

گزینه را به نتیجه تبدیل می کند ، برخی از (v) را به OK (v) و هیچ یک از اشتباه (ERR ()) تبدیل می کند.

مثال ها

pub fn as_deref(&self)> Option::Target>جایی که T: Deref ،

از گزینه (یا گزینه) به گزینه تبدیل می شود.

گزینه اصلی را در محل قرار می دهد و گزینه جدیدی را با اشاره به مورد اصلی ایجاد می کند ، علاوه بر این محتویات را از طریق Deref اجبار می کند.

مثال ها

pub fn as_deref_mut(&mut self)> Option::Target>جایی که T: Derefmut ،

تبدیل از گزینه (یا گزینه MUT) به گزینه.

گزینه اصلی را در جای خود قرار می دهد و یک مورد جدید را ایجاد می کند که حاوی یک مرجع قابل تغییر به نوع درونی Deref :: Target Target است.

مثال ها

pub fn iter(&self)>iter tr صفات قابل توجه برای iter دلالت بر تکرار کننده برای نوع iter مورد = & 'a ؛

یک تکرار کننده را بر روی مقدار احتمالاً حاوی برمی گرداند.

مثال ها

pub fn iter_mut(&mut self)>itermut ⓘ ویژگی های قابل توجه برای itermut دلالت بر تکرار کننده برای نوع itermut مورد = & 'a mut a ؛

یک تکرار قابل تغییر را بر روی مقدار احتمالاً حاوی باز می گرداند.

مثال ها

pub fn and(self, optb: Option)>گزینه

اگر گزینه هیچ کدام نباشد ، هیچ یک را برمی گرداند ، در غیر این صورت OPTB را برمی گرداند.

استدلال های منتقل شده به و مشتاقانه ارزیابی می شوند. اگر نتیجه تماس عملکردی را می گذرانید ، توصیه می شود از و_تن استفاده کنید ، که تنبلی ارزیابی می شود.

مثال ها

pub fn and_then(self, f: F)> Option where F: FnOnce(T)>گزینه،

اگر گزینه هیچ کدام نباشد ، در غیر این صورت F با مقدار بسته بندی شده تماس می گیرد و نتیجه را برمی گرداند.

برخی از زبانها این عملیات را Flatmap می نامند.

مثال ها

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

pub fn filter(self, predicate: P)> Option where P: FnOnce(&T)>بول ،

اگر گزینه هیچ کدام نباشد ، در غیر این صورت با مقدار بسته بندی شده و بازده را باز می گرداند:

  • اگر محمول درست برگردد (جایی که مقدار بسته بندی شده است) ، و اگر محمول نادرست برگردد.

این عملکرد شبیه به iterator :: فیلتر () است. شما می توانید تصور کنید که گزینه یک تکرار بیش از یک یا صفر است. فیلتر () به شما امکان می دهد تصمیم بگیرید که کدام عناصر را حفظ کنید.

مثال ها

pub fn or(self, optb: Option)>گزینه

اگر حاوی یک مقدار باشد ، گزینه را برمی گرداند ، در غیر این صورت OPTB را برمی گرداند.

استدلال های منتقل شده به یا مشتاقانه ارزیابی می شوند. اگر نتیجه تماس عملکردی را می گذرانید ، توصیه می شود از OR_ELSE استفاده کنید ، که تنبلی ارزیابی می شود.

مثال ها

pub fn or_else(self, f: F)> Option where F: FnOnce()>گزینه،

اگر حاوی یک مقدار باشد ، گزینه را برمی گرداند ، در غیر این صورت F را صدا می کند و نتیجه را برمی گرداند.

مثال ها

pub fn xor(self, optb: Option)>گزینه

برخی از آنها را برمی گرداند اگر دقیقاً یکی از خود باشد ، OPTB برخی است ، در غیر این صورت هیچ یک را برمی گرداند.

مثال ها

pub fn insert(&mut self, value: T)>& mut t

مقدار را در گزینه قرار می دهد ، سپس یک مرجع قابل تغییر را به آن برمی گرداند.

اگر گزینه از قبل حاوی یک مقدار باشد ، مقدار قدیمی کاهش می یابد.

همچنین به گزینه: get_or_insert مراجعه کنید ، که اگر گزینه از قبل حاوی مقداری باشد ، مقدار را به روز نمی کند.

مثال

pub fn get_or_insert(&mut self, value: T)>& mut t

در صورت عدم وجود مقدار ، مقدار را در گزینه قرار می دهد ، سپس یک مرجع قابل تغییر را به مقدار موجود باز می گرداند.

همچنین به گزینه :: درج مراجعه کنید ، که مقدار را به روز می کند حتی اگر گزینه در حال حاضر حاوی برخی باشد.

مثال ها

pub fn get_or_insert_default(&mut self)>& mut t where t: پیش فرض ،

مقدار پیش فرض را در گزینه در صورت عدم وجود قرار می دهد ، سپس یک مرجع قابل تغییر را به مقدار موجود باز می گرداند.

مثال ها

pub fn get_or_insert_with(&mut self, f: F)> &mut T where F: FnOnce()>t ،

مقداری محاسبه شده از f را در گزینه درج می کند ، در صورت عدم وجود ، یک مرجع قابل تغییر را به مقدار موجود باز می گرداند.

مثال ها

pub fn take(&mut self)>گزینه

مقدار را از گزینه خارج می کند و هیچ یک را در جای خود قرار نمی دهد.

مثال ها

pub fn replace(&mut self, value: T)>گزینه

مقدار واقعی را در گزینه با مقدار داده شده در پارامتر جایگزین می کند ، در صورت وجود مقدار قدیمی را باز می گرداند و برخی از آنها را در جای خود قرار می دهد بدون اینکه هر یک از آنها را تغییر دهد.

مثال ها

pub fn contains(&self, x: &U)>BOOL WHERE U: PARTIALEQ ،

اگر گزینه مقداری حاوی مقدار داده شده باشد ، درست باز می گردد.

مثال ها

pub fn zip(self, other: Option)>گزینه<(T, U)>

خود را با گزینه دیگری زیپ می کند.

اگر خود برخی از (ها) باشد و دیگری برخی (O) باشد ، این روش برخی از ((S ، O)) را برمی گرداند. در غیر این صورت ، هیچ کدام بازگردانده نمی شوند.

مثال ها

pub fn zip_with(self, other: Option, f: F)> Option where F: FnOnce(T, U)>r ،

Zips Self و گزینه دیگر با عملکرد f.

اگر خود برخی از (ها) باشد و دیگری برخی (o) باشد ، این روش مقداری (f (s ، o)) را برمی گرداند. در غیر این صورت ، هیچ کدام بازگردانده نمی شوند.

مثال ها

گزینه IMM<(T, U)>

pub fn unzip(self)>(گزینه ، گزینه)

گزینه ای را شامل می شود که حاوی یک تاپ از دو گزینه است.

اگر خود برخی باشد ((A ، B)) این روش برمی گردد (برخی (الف) ، برخی (ب)). در غیر این صورت ، (هیچ ، هیچ) بازگردانده نمی شود.

مثال ها

گزینه IMM

pub fn copied(self)>گزینه Where T: کپی ،

با کپی کردن محتویات گزینه ، گزینه ای را برای یک گزینه ترسیم می کند.

مثال ها

pub fn cloned(self)>گزینه Where T: Clone ،

با کلون کردن محتوای گزینه ، گزینه ای را برای گزینه ای نقشه می کند.

مثال ها

گزینه IMM

pub fn copied(self)>گزینه Where T: کپی ،

با کپی کردن محتویات گزینه ، گزینه ای را برای یک گزینه ترسیم می کند.

مثال ها

pub fn cloned(self)>گزینه Where T: Clone ،

با کلون کردن محتوای گزینه ، گزینه ای را برای گزینه ای نقشه می کند.

مثال ها

گزینه IMM

pub fn transpose(self)> Result, E>

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

هیچ یک از آنها به OK (هیچ) نقشه برداری نمی شود. برخی (OK (_)) و برخی (ERR (_)) به OK (برخی (_)) و ERR (_) نقشه برداری می شوند.

راهنمای تجارت فارکس...
ما را در سایت راهنمای تجارت فارکس دنبال می کنید

برچسب : نویسنده : نسیم خاکسار بازدید : <-PostHit-> تاريخ : چهارشنبه 20 ارديبهشت 1402 ساعت: 14:55