作为频繁使用者cellfun(..., 'UniformOutput', false),我惊讶地发现后两个参数可以输入为cellfun(..., 'un', 0).这立即缩短了我的代码.我的问题是,那里还有其他类似的快捷方式/别名吗?
这似乎没有在MathWorks网站上记录.淘气!
RTL*_*RTL 12
Property-value对的属性部分通常可以缩短到属性字符串的开头,只要它仍然是唯一可识别的(参见下面的示例).它们通常也不区分大小写.
据我所知,除了图形属性之外,没有任何其他文档记录,其中非常简要地记录了它.
但是,这种行为也在许多采用属性 - 值对参数的MathWorks函数中实现,并且在一些函数中实现,这些函数采用不带值对的字符串参数.
问题变成了其他房产......
因此,建议使用缩短的属性名称
"如果由于添加了新属性,缩短的名称不再是唯一的,那么使用完整的属性名称可以防止MATLAB的期货版本出现问题." - Matlab文档
" 不要用PV缩写缩短代码,不值得,相信我." - 山姆罗伯茨
简短的技术方面 - 此功能默认由Matlabs实现inputParser,但是它可以被禁用,因此这些缩写不能保证适用于每个功能.只有那些inputParser以这种方式使用或者是专门写的才允许这样做.
下列
hFig = figure();
get(Hfig,'Visible')
ans =
on
Run Code Online (Sandbox Code Playgroud)
可以缩短为
hFig = figure();
get(Hfig,'v')
ans =
on
Run Code Online (Sandbox Code Playgroud)
因为它是在开始的唯一属性'v'(注意'vi','vis'等...也可以)
然而,其他属性开始类似,例如CurrentAxes,CurrentCharacter&CurrentObject
get(Hfig,'Current')
Error using get
Ambiguous property found.
Object Name: figure
Property Name: 'Current'.
Run Code Online (Sandbox Code Playgroud)
在哪里'currenta','currentc'并且'currento'是唯一可识别的并且可以按预期工作
特别值得一提至如属性Color和ColorMap一个名称是另一个开始
Color只能与它的全名可以使用,由于任何正在缩短与暧昧ColorMap
'ColorMap'可以短到'colorm'像以前一样但是,.
本节旨在通过展示一些看似不可预测和意外的行为来阻止使用缩短的属性值对.
半文档hardcopy有一些有趣的行为文档说明可能的选项-dps,-deps,-dps2,-deps2,-dill,-dhpgl
然而,'-dh'创建一个错误,其中作为'-di' 缩写工作,'-dill'遗憾的是没有检查源,看看为什么,因为它是.p文件
最后,如果遵循上述规则,cellfun本身并不完全遵循规则,'u'理论上应该遵循规则,但是只有'un'前后规则.
| 归档时间: |
|
| 查看次数: |
1028 次 |
| 最近记录: |