2016-05-25 5 views
0

Ich möchte, dass bestimmte Abschnitte (Zeilen) in meinem Matlab-Skript als Abschnittscode (Zelle) faltbar sind. Diese Zeilen haben nicht unbedingt immer ein "end" -Schlüsselwort, das sie terminiert, und deshalb möchte ich mich selbst definieren, wo ein Codeabschnitt beginnt und endet.Wie man Matlab versteht, wo ein (zu faltender) Codeabschnitt beginnt und endet

Es scheint jedoch, dass Matlab nur die Anfänge (markiert mit %%) und nicht die Endungen solcher Codeabschnitte versteht. Matlab scheint nach verschiedenen anderen Hinweisen (wie Code-Schlüsselwörtern wie "case") als Ende eines Codeabschnitts zu suchen und ignoriert% oder %% Symbole, die ich eingefügt habe, um Matlab zu sagen, dass dies der Punkt ist, an dem ich möchte Zelle bis Ende.

Antwort

2

Unter Einstellungen> Editor/Debugger> Code Folding gibt es ein Kontrollkästchen für Abschnitte. Wenn Sie dies ankreuzen, können Sie die Abschnitte %% zum Falten verwenden.

Sie sollten jedoch beachten, dass die Abschnitte (d. H. %%) eine Verwendung für den Editor haben, mit denen Sie einfach nur den Code in diesem Abschnitt und nicht das gesamte Skript ausführen können. Also, wenn Sie %% großzügig um Ihren Code nur für Code-Faltung verwenden (und auch nicht verschachtelt werden), dann können Sie diese Fähigkeit verlieren.

+0

Danke. Dieses Kontrollkästchen ist bereits aktiviert (weshalb ich, wie gesagt, Codeabschnitte falten kann). Das Problem ist, dass Matlab verwirrt ist, wo * das Ende * eines gefalteten Abschnitts ist, und ein zweites% oder %% nicht als Indikator für das Ende eines Abschnitts betrachtet. – z8080

+0

Es wird das zweite '%%' als den Anfang des nächsten Abschnitts betrachten und damit den vorherigen Abschnitt implizit beenden. Ein regulärer Kommentar '%' wird natürlich ignoriert. Können Sie einen Beispielcode posten, bei dem das Falten nicht in den Abschnitten funktioniert (d. H. Wo es den zweiten %% ignoriert)? – Dan

+0

das ist die Sache aber - was Sie sagen, setzt voraus, dass Abschnitte des Codes, die gefaltet werden müssen, notwendigerweise kontinuierlich sind, während ich einen Bereich falten könnte, der mit einem %% beginnt und mit einem anderen %% endet, dann haben etwas intervenierender Code, dann noch ein faltbarer Abschnitt, usw. Ist das möglich? – z8080

Verwandte Themen