我想让mathematica对函数第一个大写字母不敏感。例如,它接受“绘图”和“绘图”作为绘图功能。
答案 0 :(得分:6)
我同意george的观点:“你不想这样做。”通常的做法是使用小写字母启动用户符号,这些字母都标识它们并防止与内置插件发生冲突。不过你可以用几种方法做到这一点。一个只是创建别名,乔治也建议,例如,
plot = Plot;
sin = Sin;
plot[sin[x], {x, 0, 6}]
这具有即使在包中也能工作的优点,因为它不依赖于前端。但是,因为它们是not true aliases,在某些情况下会失败,例如:
evaluate = Evaluate;
Hold[evaluate[2 + 2]]
Hold[evaluate[2 + 2]]
“真实”功能的行为如下:
Hold[Evaluate[2 + 2]]
Hold[4]
要获得完全等效,但只能在前端,您可以使用$PreRead
。 (Example。)您需要构建一个规则列表,用大写字符串替换每个小写符号的字符串形式。我将仅对System`
上下文中的所有符号执行此操作。
With[{rules = Thread[ToLowerCase[#] -> #] & @ Names["System`*"]},
$PreRead = # /. rules &
];
现在这两个例子都有效:
plot[sin[x], {x, 0, 6}]
hold[evaluate[2 + 2], 3 + 4]
后者产生:
Hold[4, 3 + 4]
答案 1 :(得分:3)
这不是您问题的直接答案,我强烈建议您不要仅仅为了信件而重新定义 Mathematica 功能。
然而,当你进入编辑 - >时,你有没有看到命令完成时匹配案例的选项? 偏好设置 - > 接口
如果您将其关闭,则可以在笔记本中键入plot
,然后从自动完成功能中获得正确的Plot
建议。您只需按Enter键并插入正确的命令。