PluralRules Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.
[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
- Herança
- Atributos
- Implementações
Comentários
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave.
As regras são construídas a partir de uma descrição de texto, que consiste em uma série de palavras-chave e condições. O #select método examina cada condição em ordem e retorna a palavra-chave para a primeira condição que corresponde ao número. Se nenhuma correspondência for retornada #KEYWORD_OTHER .
Um objeto PluralRules é imutável. Ele contém caches para valores de exemplo, mas eles são sincronizados.
PluralRules é serializável para que possa ser usado em formatadores, que são serializáveis.
Para obter mais informações, detalhes e dicas para escrever regras, consulte a especificação LDML, Parte 3.5 Regras do Plural de Idiomas
Exemplos:
"one: n is 1; few: n in 2..4"
Isso define duas regras, para "uma" e "poucas". A condição para "um" é "n é 1", o que significa que o número deve ser igual a 1 para que essa condição passe. A condição para "poucos" é "n em 2..4", o que significa que o número deve estar entre 2 e 4 inclusive - e ser um inteiro - para que essa condição passe. Todos os outros números recebem a palavra-chave "outro" pela regra padrão.
"zero: n is 0; one: n is 1; zero: n mod 100 in 1..19"
Isso ilustra que a mesma palavra-chave pode ser definida várias vezes. Cada regra é examinada em ordem e a primeira palavra-chave cuja condição é aprovada é a retornada. Também observa que um módulo é aplicado a n na última regra. Portanto, sua condição se mantém para 119, 219, 319...
"one: n is 1; few: n mod 10 in 2..4 and n mod 100 not in 12..14"
Isso ilustra a conjunção e negação. A condição para 'poucos' tem duas partes, ambas devem ser atendidas: "n mod 10 em 2..4" e "n mod 100 não em 12..14". A primeira parte aplica um módulo a n antes do teste como no exemplo anterior. A segunda parte aplica um módulo diferente e também usa negação, portanto, corresponde a todos os números não em 12, 13, 14, 112, 113, 114, 212, 213, 214...
Sintaxe:
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 <termo b>não</b> inverte o significado; no entanto, não deve haver mais de um deles.
Os valores i, f, t e v são definidos da seguinte maneira:
<ul><li>i para ser os dígitos inteiros.</li><li>f para ser os dígitos decimais visíveis, como um inteiro.</li><li>t para ser os dígitos decimais visíveis — sem zeros à direita — como um inteiro.</li><li>v para ser o número de dígitos de fração visíveis.</li><li>j é definido para corresponder apenas a inteiros. Isso é j é 3 falha se v != 0 (por exemplo, para 3.1 ou 3.0).</li></ul>
Os exemplos estão na tabela a seguir:
<table border='1' style="border-collapse:collapse">tbody<>tr<>th<n>/th th<><i>/th th<><> f/th th<><v>/th<>/tr<>tr td<><1.0>/td td<><1>/td td<>align="right"<0>/td<>td<1>/td<>/tr<>tr<>td<1.00>/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><>1</td></tr><tr><td>1.03</td td><>1</td td><align="right">3</td td><>2</td></tr tr><><td>1.23</td td><>1</td td><align="right">23</td td><>2</td></tr></tbody></table>
Um "identificador" é uma sequência de caracteres que não têm as propriedades unicode Pattern_Syntax ou Pattern_White_Space.
A diferença entre 'in' e 'within' é que 'in' inclui apenas inteiros no intervalo especificado, enquanto 'within' inclui todos os valores. Usar 'within' com um range_list que consiste inteiramente em valores é o mesmo que usar 'in' (não é um erro).
Documentação Java para android.icu.text.PluralRules.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| PluralRules(IntPtr, JniHandleOwnership) |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. |
Campos
| Nome | Description |
|---|---|
| KeywordFew |
Nome comum para o formato 'paucal' ou outro formato plural especial. |
| KeywordMany |
Nome comum para a forma plural árabe (11 a 99). |
| KeywordOne |
Nome comum para a forma plural 'singular'. |
| KeywordOther |
Nome comum para o formulário plural padrão. |
| KeywordTwo |
Nome comum para o formulário plural 'dual'. |
| KeywordZero |
Nome comum para o formulário plural 'zero'. |
| NoUniqueValue |
Valor retornado quando |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de tempo de execução deste |
| Default |
As regras padrão que aceitam qualquer número e retornam |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. (Herdado de JavaObject) |
| JniPeerMembers |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. |
| Keywords |
Retorna um conjunto de todas as palavras-chave de regra usadas neste |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. |
| ThresholdType |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. |
Métodos
| Nome | Description |
|---|---|
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. (Herdado de JavaObject) |
| CreateRules(String) |
Cria um PluralRules de uma descrição se ele for parsable, caso contrário, retornará nulo. |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. (Herdado de JavaObject) |
| Equals(Object) |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. (Herdado de JavaObject) |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| Equals(PluralRules) |
Retornará true se rhs for igual a isso. |
| ForLocale(Locale, PluralRules+PluralType) |
Fornece acesso aos PluralRules predefinidos para uma determinada Localidade e o tipo plural. |
| ForLocale(Locale) |
Fornece acesso ao número |
| ForLocale(ULocale, PluralRules+PluralType) |
Fornece acesso ao PluralRules predefinido para uma determinada localidade e o tipo plural. |
| ForLocale(ULocale) |
Fornece acesso ao número |
| GetAllKeywordValues(String) |
Retorna todos os valores que disparam essa palavra-chave ou nulo se o número desses valores for ilimitado. |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| GetSamples(String) |
Retorna uma lista de valores inteiros para os quais select() retornaria essa palavra-chave ou nulo se a palavra-chave não estiver definida. |
| GetUniqueKeywordValue(String) |
Retorna o valor exclusivo que essa palavra-chave corresponde ou |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| Notify() |
Ativa um único thread que está aguardando no monitor desse objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| ParseDescription(String) |
Analisa uma descrição de regras plural e retorna um PluralRules. |
| Select(Double) |
Dado um número de ponto flutuante, retorna a palavra-chave da primeira regra que se aplica ao número. |
| Select(FormattedNumber) |
Dado um número formatado, retorna a palavra-chave da primeira regra que se aplica ao número. |
| Select(FormattedNumberRange) |
Dado um intervalo de números formatado, retorna a forma plural geral do intervalo. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. (Herdado de JavaObject) |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| Wait() |
Faz com que o thread atual aguarde até que seja despertado, normalmente sendo <notificado></em> ou <em>interrompido</em>. (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. (Herdado de JavaObject) |
| IJavaPeerable.Finalized() |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. (Herdado de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. (Herdado de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. (Herdado de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. (Herdado de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. (Herdado de JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo verificada pelo tempo de execução do Android. |
| JavaCast<TResult>(IJavaObject) |
Define regras para mapear valores numéricos não negativos em um pequeno conjunto de palavras-chave. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |