0
我有一个路径(最后没有文件名)作为一个字符串在Matlab中,我想接收第一个父目录(最后一个文件分隔符字符后的目录)。
目前,我正在做这样的:如何使用从函数直接返回的单元格数组?
>>filePath = 'D:\TRAIN_DATA\OBSTACLES\DOF';
>>firstParent = strsplit(filePath , filesep);
>>firstParent = firstParent{end};
>>disp(firstParent);
DOF
有什么办法,我可以使用strsplit的返回值(一个单元阵列),而它assinging给一个变量第一?
喜欢的东西:
>>filePath = 'D:\TRAIN_DATA\OBSTACLES\DOF';
>>firstParent = (strsplit(filePath , filesep)){end};
>>disp(firstParent);
DOF
是的,这解决了具体的例子我给我的问题。我可以用这个语句接收第一个父目录。 但在我的代码中还有其他这个问题的例子,我实际上试图得到答案。 我可以得到n。 'nThElement = aFunctionThatReturnsACellArray();:;' 不像 'nThElement = aFunctionThatReturnsACellArray(){N}:一个单元阵列的元件从函数返回等 nThElement = nThElement {n};' –
对于一般情况,我不知道有什么_elegant_方法可以在不使用中间变量的情况下做到这一点,但有[很多丑陋或未公开的方式](https:/ /stackoverflow.com/questions/3627107/how-can-i-index-a-matlab-array-returned-by-a-function-without-first-assigning-it)例如使用'subsref','getfield'或中间功能。 – Tom
没有优雅的方法,它不是MATLAB语言的一个特性,如果使用的话,括号'()'必须在语句的结尾。这在Octave中是可以实现的,但这是另一种蠕虫。 – Wolfie