Mathematica 8 的DictionaryLookup
函数"English"
默认用作语言。有没有办法将默认语言设置为"BritishEnglish"
or "Spanish"
?
提前致谢。
Mathematica 8 的DictionaryLookup
函数"English"
默认用作语言。有没有办法将默认语言设置为"BritishEnglish"
or "Spanish"
?
提前致谢。
似乎没有此选项,但您可以修改 的定义DictionaryLookup
以适合您。
我将使用的方法依赖于 DownValues 的自动排序,并且是为版本 7 编写的,因此可能需要调整。您可以查看DownValues[DictionaryLookup]
该函数的编写方式,因为它是顶级Mathematica代码。
$dictionaryLanguage = "Spanish";
Unprotect[DictionaryLookup];
DictionaryLookup[pat : Except[_List], x___] /;
! TrueQ[$dicLang] && ValueQ[$dictionaryLanguage] :=
Block[{$dicLang = True},
DictionaryLookup[{$dictionaryLanguage, pat}, x]
]
DownValues[DictionaryLookup] =
RotateRight @ DownValues[DictionaryLookup];
Protect[DictionaryLookup];
使用此定义,如果$dictionaryLanguage
设置了该值,则该值将用于语言。您可以使用 恢复默认行为$dictionaryLanguage =.
。例子:
$dictionaryLanguage = "Spanish";
DictionaryLookup["*orac*", 3]
{"adoración", "aminoración", "colaboración"}
$dictionaryLanguage =.;
DictionaryLookup["*orac*", 3]
{“coracle”、“coracles”、“Horace”}
知道你打电话也在DictionaryLookup
. 您可以为这样的语言加载字典:
DataPaclets`Dictionary`ReloadDictionary["Dutch"]
将数据放在DataPaclets`Dictionary`$Dictionary
. 示例搜索:
Pick[#, # ~StringMatchQ~ "*fzand*"] ~Take~ 4 & @ DataPaclets`Dictionary`$Dictionary
{“afzand”、“afzandde”、“afzandden”、“afzanderij”}
等效DictionaryLookup
查询:
DictionaryLookup[{"Dutch", "*fzand*"}, 4]
{“afzand”、“afzandde”、“afzandden”、“afzanderij”}
如果您经常使用这些工具,您可以在上下文路径中使用它们:
AppendTo[$ContextPath, "DataPaclets`Dictionary`"]
然后你可以使用ReloadDictionary
和$Dictionary
原样,没有上下文名称。