Struct intl_pluralrules::PluralRules [−][src]
pub struct PluralRules { /* fields omitted */ }
Expand description
The main structure for selecting plural rules.
Examples
use intl_pluralrules::{PluralRules, PluralRuleType, PluralCategory};
use unic_langid::LanguageIdentifier;
let langid: LanguageIdentifier = "naq".parse().expect("Parsing failed.");
let pr_naq = PluralRules::create(langid, PluralRuleType::CARDINAL).unwrap();
assert_eq!(pr_naq.select(1), Ok(PluralCategory::ONE));
assert_eq!(pr_naq.select("2"), Ok(PluralCategory::TWO));
assert_eq!(pr_naq.select(5.0), Ok(PluralCategory::OTHER));
Implementations
pub fn create<L: Into<LanguageIdentifier>>(
langid: L,
prt: PluralRuleType
) -> Result<Self, &'static str>
pub fn create<L: Into<LanguageIdentifier>>(
langid: L,
prt: PluralRuleType
) -> Result<Self, &'static str>
Returns an instance of PluralRules.
Examples
use intl_pluralrules::{PluralRules, PluralRuleType, PluralCategory};
use unic_langid::LanguageIdentifier;
let langid: LanguageIdentifier = "naq".parse().expect("Parsing failed.");
let pr_naq = PluralRules::create(langid, PluralRuleType::CARDINAL);
assert_eq!(pr_naq.is_ok(), !pr_naq.is_err());
let langid: LanguageIdentifier = "xx".parse().expect("Parsing failed.");
let pr_broken = PluralRules::create(langid, PluralRuleType::CARDINAL);
assert_eq!(pr_broken.is_err(), !pr_broken.is_ok());
pub fn select<N: TryInto<PluralOperands>>(
&self,
number: N
) -> Result<PluralCategory, &'static str>
pub fn select<N: TryInto<PluralOperands>>(
&self,
number: N
) -> Result<PluralCategory, &'static str>
Returns a result of the plural category for the given input.
If the input is not numeric.
Examples
use intl_pluralrules::{PluralRules, PluralRuleType, PluralCategory};
use unic_langid::LanguageIdentifier;
let langid: LanguageIdentifier = "naq".parse().expect("Parsing failed.");
let pr_naq = PluralRules::create(langid, PluralRuleType::CARDINAL).unwrap();
assert_eq!(pr_naq.select(1), Ok(PluralCategory::ONE));
assert_eq!(pr_naq.select(2), Ok(PluralCategory::TWO));
assert_eq!(pr_naq.select(5), Ok(PluralCategory::OTHER));
Returns a list of the available locales.
Examples
use intl_pluralrules::{PluralRules, PluralRuleType};
assert_eq!(
PluralRules::get_locales(PluralRuleType::CARDINAL).is_empty(),
false
);
Returns the locale name for this PluralRule instance.
Examples
use intl_pluralrules::{PluralRules, PluralRuleType};
use unic_langid::LanguageIdentifier;
let langid: LanguageIdentifier = "naq".parse().expect("Parsing failed.");
let pr_naq = PluralRules::create(langid.clone(), PluralRuleType::CARDINAL).unwrap();
assert_eq!(pr_naq.get_locale(), &langid);
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for PluralRules
impl Send for PluralRules
impl Sync for PluralRules
impl Unpin for PluralRules
impl UnwindSafe for PluralRules
Blanket Implementations
Mutably borrows from an owned value. Read more