Сравнение строк языка
Новая функция AlphabeticOrder позволяет сравнивать строки относительно алфавитного порядка, ассоциируемого с языком.
AlphabeticOrder выдаёт 1, если первая строка должна стоять перед второй; 0, если они равнозначны; и −1, если они должны поменяться местами.
In[1]:=
AlphabeticOrder["z", "å", Entity["Language", "Swedish"]]
Out[1]=
Результаты для AlphabeticOrder и Order могут отличаться на неанглийских языках.
In[2]:=
{Order["італьянская", "японская"],
AlphabeticOrder["італьянская", "японская", "Belarusian"]}
Out[2]=
Опция IgnoreDiacritics допускает гибкое сравнение строк.
In[3]:=
AlphabeticOrder["como", "cómo", Entity["Language", "Spanish"],
IgnoreDiacritics -> True]
Out[3]=
Данная опция не отвергает основные правила языка. Например, одна буква может считаться диакритической на одном языке и основной - на другом.
In[4]:=
{AlphabeticOrder["ñandú", "nandu", Entity["Language", "Spanish"],
IgnoreDiacritics -> True],
AlphabeticOrder["ñandú", "nandu", Entity["Language", "English"],
IgnoreDiacritics -> True]}
Out[4]=
Функция AlphabeticSort классифицирует, используя AlphabeticOrder, как функцию упорядочивания.
In[5]:=
AlphabeticSort[{"アメリカ合衆国", "日本", "イギリス", "ペルー", "スウェーデン", "インド"},
Entity["Language", "Japanese"]]
Out[5]=