Lenguaje

PluralRules Clase

Definición

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

[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
Herencia
PluralRules
Atributos
Implementaciones

Comentarios

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

Las reglas se construyen a partir de una descripción de texto, que consta de una serie de palabras clave y condiciones. El #select método examina cada condición en orden y devuelve la palabra clave de la primera condición que coincide con el número. Si ninguna coincide, #KEYWORD_OTHER se devuelve.

Un objeto PluralRules es inmutable. Contiene cachés para los valores de ejemplo, pero se sincronizan.

PluralRules es Serializable para que se pueda usar en formateadores, que son serializables.

Para obtener más información, detalles y sugerencias para escribir reglas, consulte la especificación LDML, Reglas plurales de lenguaje de la parte 3.5.

Ejemplos:

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

Esto define dos reglas para "uno" y "pocos". La condición de "uno" es "n es 1", lo que significa que el número debe ser igual a 1 para que esta condición pase. La condición de "pocos" es "n en 2..4", lo que significa que el número debe estar comprendido entre 2 y 4 inclusive y ser un entero, para que esta condición pase. A todos los demás números se les asigna la palabra clave "other" por la regla predeterminada.

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

Esto muestra que la misma palabra clave se puede definir varias veces. Cada regla se examina en orden y la primera palabra clave cuya condición pasa es la que se devuelve. También observa que se aplica un módulo a n en la última regla. Por lo tanto, su condición tiene para 119, 219, 319...

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

Esto ilustra la conjunción y la negación. La condición de "pocos" tiene dos partes, ambas que deben cumplirse: "n mod 10 en 2..4" y "n mod 100 no en 12..14". La primera parte aplica un módulo a n antes de la prueba como en el ejemplo anterior. La segunda parte aplica un módulo diferente y también usa negación, por lo que coincide con todos los números no en 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

Cada <término b>not</b> invierte el significado; sin embargo, no debe haber más de uno de ellos.

Los valores i, f, t y v se definen de la siguiente manera:

<ul><li>i para ser los dígitos enteros.</li><li>f para ser los dígitos decimales visibles, como un entero.</li><li>t para ser los dígitos decimales visibles ,sin ceros finales, como un entero.</li li><>v para ser el número de dígitos de fracción visibles.</li><li>j se define para que solo coincidan con enteros. Se produce un error en j si v != 0 (por ejemplo, para 3.1 o 3.0).</li></ul>

Los ejemplos se encuentran en la tabla siguiente:

<table border='1' style="border-collapse:collapse">tbody<>tr<>th<n>/th<><th i>/th<>th<f>/th<><v>/th<>/tr tr<><>td<1.0>/td td<1/td td td><align="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 tr td>1.3</td td><>1</td><td align="right">3</td td><td>1</td/tr tr><><td>1.03</td><td td><>< align="right">3</td><td td>2</td><></tr tr><><td>1.23</td td><>1</td td><align="right">23</td td><>2</td></tr></tbody></table>

Un "identificador" es una secuencia de caracteres que no tienen las propiedades Unicode Pattern_Syntax o Pattern_White_Space.

La diferencia entre "in" y "within" es que "in" solo incluye enteros en el intervalo especificado, mientras que "within" incluye todos los valores. El uso de "within" con un range_list que consta completamente de valores es el mismo que el uso de "in" (no es un error).

Java documentación para android.icu.text.PluralRules.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
PluralRules(IntPtr, JniHandleOwnership)

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

Campos

Nombre Description
KeywordFew

Nombre común de la forma "paucal" u otro plural especial.

KeywordMany

Nombre común para la forma plural árabe (de 11 a 99).

KeywordOne

Nombre común para la forma plural "singular".

KeywordOther

Nombre común para el formulario plural predeterminado.

KeywordTwo

Nombre común para el formato plural "dual".

KeywordZero

Nombre común para el formato plural "cero".

NoUniqueValue

Valor devuelto por #getUniqueKeywordValue cuando no hay ningún valor único que devolver.

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Default

Las reglas predeterminadas que aceptan cualquier número y devuelven #KEYWORD_OTHER.

Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

(Heredado de JavaObject)
JniPeerMembers

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

Keywords

Devuelve un conjunto de todas las palabras clave de regla usadas en este PluralRules objeto.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
ThresholdClass

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

ThresholdType

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

Métodos

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

(Heredado de JavaObject)
CreateRules(String)

Crea un PluralRules a partir de una descripción si se puede analizar; de lo contrario, devuelve null.

Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

(Heredado de JavaObject)
Equals(Object)

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
Equals(PluralRules)

Devuelve true si rhs es igual a esto.

ForLocale(Locale, PluralRules+PluralType)

Proporciona acceso a pluralrules predefinidos para una configuración regional determinada y al tipo plural.

ForLocale(Locale)

Proporciona acceso al número PluralRules cardinal predefinido para un determinado java.util.Locale.

ForLocale(ULocale, PluralRules+PluralType)

Proporciona acceso a pluralrules predefinidos para una configuración regional determinada y el tipo plural.

ForLocale(ULocale)

Proporciona acceso al número PluralRules cardinal predefinido para una configuración regional determinada.

GetAllKeywordValues(String)

Devuelve todos los valores que desencadenan esta palabra clave o null si el número de dichos valores es ilimitado.

GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
GetSamples(String)

Devuelve una lista de valores enteros para los que select() devolvería esa palabra clave o null si la palabra clave no está definida.

GetUniqueKeywordValue(String)

Devuelve el valor único que coincide con esta palabra clave o #NO_UNIQUE_VALUE si la palabra clave coincide con varios valores o no está definido para este PluralRules.

JavaFinalize()
Obsoletos.

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
ParseDescription(String)

Analiza una descripción de reglas plurales y devuelve pluralRules.

Select(Double)

Dado un número de punto flotante, devuelve la palabra clave de la primera regla que se aplica al número.

Select(FormattedNumber)

Dado un número con formato, devuelve la palabra clave de la primera regla que se aplica al número.

Select(FormattedNumberRange)

Dado un intervalo de números con formato, devuelve la forma en plural general del intervalo.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

(Heredado de JavaObject)
ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Define reglas para asignar valores numéricos no negativos a un pequeño conjunto de palabras clave.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a