【发布时间】:2016-03-31 14:17:03
【问题描述】:
有时需要在一个命令中进行多次调用。一个简单的例子是 strrep。假设您想用方括号替换所有括号,用点替换所有逗号,然后删除所有双引号。然后可能需要以下伪代码:
strrep(myString, '()', '[]', ',', '.', '"', '')
有没有办法做到这一点?你当然可以选择:
strrep(strrep(strrep(myString, '()', '[]'), ',', '.'), '"', '')
或者将字符串保存在一个元胞数组中并在 for 循环中使用它,但这两种解决方案都非常丑陋。
最需要的答案是对所有以类似方式工作的函数都通用的答案。
【问题讨论】:
-
我敢说任何函数都没有通用的解决方案,除了循环。具体情况见 Suevers 回答。
-
圆括号和方括号有什么区别?据我所知,它们是一样的。
-
@kkuilla 在英语中是的,但在程序约定中是调用
()括号、[]括号和{}括号。这只是一个约定,不是规则,当然也不是英语规则 -
在我的编码约定中称为方括号
(),方括号[]。我认识的没有人称它们为括号。也许这是美国的东西...... -
@kkuilla 这是一个互联网事物:google.co.za/… 当然,您可以随意称呼他们,我会使用与您口语相同的术语,但我发布的约定是最受订阅的,并且如果您希望互联网上的人们相当明确地知道您的意思,那么恐怕这是使用的惯例。 (顺便说一句 this page 声称它是美国的,但没有参考)
标签: matlab function-calls function-call function-composition