言語中の文字列の比較
新関数のAlphabeticOrderを使うと,言語に関連付けられたアルファベットの順序で文字列を比較することができる.
AlphabeticOrderは,最初の文字列が2番目の文字列の前に置かれるべきときは1を,両者が等しいときは2を,順序が逆になっているときは−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]=