Sprache

PluralRules Klasse

Definition

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

[Android.Runtime.Register("android/icu/text/PluralRules", ApiSince=24, DoNotGenerateAcw=true)]
public class PluralRules : Java.Lang.Object, IDisposable, Java.IO.ISerializable
[<Android.Runtime.Register("android/icu/text/PluralRules", ApiSince=24, DoNotGenerateAcw=true)>]
type PluralRules = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Vererbung
PluralRules
Attribute
Implementiert

Hinweise

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

Regeln werden aus einer Textbeschreibung erstellt, die aus einer Reihe von Schlüsselwörtern und Bedingungen besteht. Die #select Methode untersucht jede Bedingung in der Reihenfolge und gibt das Schlüsselwort für die erste Bedingung zurück, die der Zahl entspricht. Wenn keine Übereinstimmung gefunden wird, #KEYWORD_OTHER wird diese zurückgegeben.

Ein PluralRules-Objekt ist unveränderlich. Sie enthält Caches für Beispielwerte, aber diese werden synchronisiert.

PluralRules ist serialisierbar, sodass sie in Formatierern verwendet werden kann, die serialisierbar sind.

Weitere Informationen, Details und Tipps zum Schreiben von Regeln finden Sie in der LDML-Spezifikation, Teil 3.5 Language Plural Rules

Beispiele:

&quot;one: n is 1; few: n in 2..4&quot;

Dies definiert zwei Regeln für "eins" und "wenige". Die Bedingung für "1" lautet "n ist 1", was bedeutet, dass die Zahl gleich 1 sein muss, damit diese Bedingung übergeben wird. Die Bedingung für "wenige" lautet "n in 2..4", was bedeutet, dass die Zahl zwischen 2 und 4 einschließlich ( und eine ganze Zahl ) liegen muss, damit diese Bedingung übergeben wird. Allen anderen Zahlen wird das Schlüsselwort "other" durch die Standardregel zugewiesen.

&quot;zero: n is 0; one: n is 1; zero: n mod 100 in 1..19&quot;

Dies veranschaulicht, dass dasselbe Schlüsselwort mehrmals definiert werden kann. Jede Regel wird in der Reihenfolge untersucht, und das erste Schlüsselwort, dessen Bedingung übergeben wird, ist die zurückgegebene. Beachten Sie außerdem, dass ein Modul in der letzten Regel auf n angewendet wird. So hält seine Bedingung für 119, 219, 319...

&quot;one: n is 1; few: n mod 10 in 2..4 and n mod 100 not in 12..14&quot;

Dies veranschaulicht die Konjunktion und Negation. Die Bedingung für "wenige" hat zwei Teile, von denen beide erfüllt sein müssen: "n mod 10 in 2..4" und "n mod 100 nicht in 12..14". Der erste Teil wendet einen Modulus auf n vor dem Test an, wie im vorherigen Beispiel gezeigt. Der zweite Teil wendet einen anderen Modulus an und verwendet auch Negation, daher entspricht er allen Zahlen, die nicht in 12, 13, 14, 112, 113, 114, 212, 213, 214...

Syntax:

rules         = rule (';' rule)*
            rule          = keyword ':' condition
            keyword       = &lt;identifier&gt;
            condition     = and_condition ('or' and_condition)*
            and_condition = relation ('and' relation)*
            relation      = not? expr not? rel not? range_list
            expr          = ('n' | 'i' | 'f' | 'v' | 't') (mod value)?
            not           = 'not' | '!'
            rel           = 'in' | 'is' | '=' | '≠' | 'within'
            mod           = 'mod' | '%'
            range_list    = (range | value) (',' range_list)*
            value         = digit+
            digit         = 0|1|2|3|4|5|6|7|8|9
            range         = value'..'value

Jeder <b>/<b-Begriff> umkehrt die Bedeutung; es sollte jedoch nicht mehr als eine davon geben.

Die Werte "i", "f", "t" und "v" werden wie folgt definiert:

<ul><li>i als ganze Zahl.</li li><>f, um die sichtbaren Dezimalziffern als ganze Zahl zu sein.</li li><>t als sichtbare Dezimalziffern – ohne nachfolgende Nullen – als ganze Zahl zu sein.</li li><>v, um die Anzahl der sichtbaren Bruchziffern zu sein.</li li><>j ist so definiert, dass nur ganze Zahlen übereinstimmen. Das ist j 3 schlägt fehl, wenn v != 0 (z. B. für 3.1 oder 3.0).</li></ul>

Beispiele sind in der folgenden Tabelle:

<table border='1' style="border-collapse:collapse"><tbody><tr><th>n</th><>i</th><>f</th th><>v/th v</th></tr t><><td>1.0</td><td>1</td><td td="right">0</td><td td>1</td></tr><><td>1.00</td><td>1/td td 1</td><td align="right">0</td><td>2</td></tr><><td>1,3</td td><>1</td><td td td align="right">3</td><td>1</td></tr><><td>1,03</td td><td>1</td td><align="right">3</td><td td>2</td></tr tr><><td>1.23</td><td>1</td><td td align="right">23</td td><>2</td></tr/tbody><></table>

Ein "Bezeichner" ist eine Abfolge von Zeichen, die nicht über die Unicode-Pattern_Syntax- oder Pattern_White_Space-Eigenschaften verfügen.

Der Unterschied zwischen "in" und "innerhalb" besteht darin, dass "in" nur ganze Zahlen im angegebenen Bereich enthält, während "innerhalb" alle Werte enthält. Die Verwendung von "innerhalb" mit einer range_list, die vollständig aus Werten besteht, ist identisch mit der Verwendung von "in" (es ist kein Fehler).

Java Dokumentation für android.icu.text.PluralRules.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
PluralRules(IntPtr, JniHandleOwnership)

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

Felder

Name Beschreibung
KeywordFew

Allgemeiner Name für das "Paucal" oder andere spezielle Pluralform.

KeywordMany

Allgemeiner Name für die arabische (11 bis 99) Pluralform.

KeywordOne

Allgemeiner Name für die Pluralform 'singular'.

KeywordOther

Allgemeiner Name für das Standard-Plural-Formular.

KeywordTwo

Allgemeiner Name für die "duale" Pluralform.

KeywordZero

Allgemeiner Name für das Pluralformular "null".

NoUniqueValue

Der Wert, der zurückgegeben #getUniqueKeywordValue wird, wenn kein eindeutiger Wert zurückgegeben werden soll.

Eigenschaften

Name Beschreibung
Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Default

Die Standardregeln, die eine beliebige Zahl akzeptieren und zurückgeben #KEYWORD_OTHER.

Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Object)
JniManagedPeerState

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

(Geerbt von JavaObject)
JniPeerMembers

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

Keywords

Gibt einen Satz aller Regelstichwörter zurück, die in diesem PluralRules Objekt verwendet werden.

PeerReference

Ruft den JNI-Objektverweis für diesen Java Peer ab.

(Geerbt von Object)
ThresholdClass

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

ThresholdType

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

Methoden

Name Beschreibung
Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

(Geerbt von JavaObject)
CreateRules(String)

Erstellt eine PluralRules aus einer Beschreibung, wenn sie analysiert werden kann, andernfalls wird NULL zurückgegeben.

Dispose()

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
Dispose(Boolean)

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
DisposeUnlessReferenced()

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

(Geerbt von JavaObject)
Equals(Object)

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

(Geerbt von JavaObject)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
Equals(PluralRules)

Gibt true zurück, wenn rhs gleich diesem ist.

ForLocale(Locale, PluralRules+PluralType)

Bietet Zugriff auf die vordefinierten PluralRules für ein bestimmtes Gebietsschema und den Pluraltyp.

ForLocale(Locale)

Bietet Zugriff auf die vordefinierte Kardinalzahl für eine bestimmte .PluralRulesjava.util.Locale

ForLocale(ULocale, PluralRules+PluralType)

Bietet Zugriff auf die vordefinierten PluralRules für ein bestimmtes Gebietsschema und den Pluraltyp.

ForLocale(ULocale)

Bietet Zugriff auf die vordefinierte Kardinalzahl PluralRules für ein bestimmtes Gebietsschema.

GetAllKeywordValues(String)

Gibt alle Werte zurück, die dieses Schlüsselwort auslösen, oder null, wenn die Anzahl solcher Werte unbegrenzt ist.

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetSamples(String)

Gibt eine Liste ganzzahliger Werte zurück, für die select() dieses Schlüsselwort zurückgeben würde, oder null, wenn das Schlüsselwort nicht definiert ist.

GetUniqueKeywordValue(String)

Gibt den eindeutigen Wert zurück, mit dem dieses Schlüsselwort übereinstimmt, oder #NO_UNIQUE_VALUE wenn das Schlüsselwort mehreren Werten entspricht oder für diese PluralRules nicht definiert ist.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
ParseDescription(String)

Analysiert eine Pluralregelnbeschreibung und gibt eine PluralRules zurück.

Select(Double)

Gibt bei einer Gleitkommazahl das Schlüsselwort der ersten Regel zurück, die für die Zahl gilt.

Select(FormattedNumber)

Gibt bei einer formatierten Zahl das Schlüsselwort der ersten Regel zurück, die für die Zahl gilt.

Select(FormattedNumberRange)

Gibt bei einem formatierten Zahlenbereich die gesamte Pluralform des Bereichs zurück.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

(Geerbt von JavaObject)
ToArray<T>()

Erstellt ein verwaltetes Array aus diesem Java Arraywrapper.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><>

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

(Geerbt von JavaObject)
IJavaPeerable.Finalized()

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

(Geerbt von JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

(Geerbt von JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

(Geerbt von JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

(Geerbt von JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

(Geerbt von JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Definiert Regeln zum Zuordnen nicht negativer numerischer Werte zu einer kleinen Gruppe von Schlüsselwörtern.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: