PluralRules Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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:
"one: n is 1; few: n in 2..4"
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.
"zero: n is 0; one: n is 1; zero: n mod 100 in 1..19"
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...
"one: n is 1; few: n mod 10 in 2..4 and n mod 100 not in 12..14"
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 = <identifier>
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 |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Default |
Las reglas predeterminadas que aceptan cualquier número y devuelven |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| 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 |