繁体   English   中英

如何将MATLAB代码段转换为单行?

[英]How to convert MATLAB code segment to single line?

我正在寻找一种转换多行代码的方法,例如:

for i=1:10
    foo();
end

对此:

for i=1:10, foo(); end

在MATLAB编辑器中是否有简单的方法可以做到这一点? 最好是可逆的?

我想几天前我不小心按下了键盘快捷键,看到了魔术发生的情况,但是我找不到我按下的键:)

谢谢你的帮助 !

PS:我不确定这个问题是否属于超级用户,但是我相信我可以在这里找到一个快速的答案,这与编程有关,所以双赢!

如果您以这种方式编写它,它将起作用:

for i=1:10, foo();, end

(注意foo()之后的逗号;)

但是您可能所做的只是在for之前打了+或-,这折叠了for代码序列。

如果您进入“视图”选项卡,则还可以使用按钮来展开折叠以进行相同的操作。

我很确定您没有办法在MATLAB中完成此操作,至少没有在MATLAB Editor中使用键盘快捷键。 我不想说你在想像,但我想你在想像。

我猜您可能已经完成的最接近的操作是使用Ctrl-折叠当前代码段 折叠当前部分,或按Ctrl- +折叠当前文件中的所有部分。 这看起来有点像您看到的那样,主循环块消失了,取而代之的for i = 1:10和一个带有三个点的矩形-当您将鼠标悬停在矩形上时,循环主体将显示为工具提示。

如果确实是您所做的,则可以通过Ctrl - Shift-来逆转 (对于当前部分)或Ctrl - Shift - + (对于所有部分)。 顺便说一句,这些快捷方式是默认设置,可以在“首选项”中自定义,要正常工作,您需要在“首选项”中启用“代码折叠”。

但是,正如您在另一条评论中提到的那样,代码折叠并不会更改代码本身,而只是更改外观。 因此,这并不能真正捕捉您所描述的内容。

我能想到的唯一其他键盘快捷键是Smart Indent( Ctrl - I )。 这样可以对代码进行一些精巧的缩进,但又不能完全符合您在此处描述的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM