zeilen einreihen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
zar1
User
Beiträge: 39
Registriert: Samstag 28. Dezember 2013, 01:08

Ich schreibe im Moment ein paar Scripte mit sehr vielen Loops und ich muss jedes mal wenn ich zb einen Loop hinzufüge, der dann vor drei anderen Loops steht, jedes mal die anderen loops mit einreihen gibt es nicht einen schnelleren weg mitdem man alle loops die drauf folgen einreihen kann und nicht zeile für zeile das einzeln regeln muss ?
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

So ziemlich jeder* Editor erledigt das mit etwas Markieren und einem Tastendruck (meistens Tab).

Andererseits solltest Du wohl eher über ein besseres Design nachdenken.

*) Ausnahme sind hier Vim und Emacs. Man braucht sicherlich ein paar Tastenanschläge mehr, wird jedoch wesentlich schneller sein ;)
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

Mein vim rückt mit 7>> die nächsten 7 Zeilen ein. Du solltest aber mit :set et und :set sw=4 noch die richtige Einrücktiefe einstellen.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Wie bereits gesagt: Mit jedem auch nur einigermaßen vernünftigen Editor ist das problemlos machbar. Ab einer gewissen Verschachtelungstiefe solltest du aber vielleicht ohnehin mal über den gezielten Einsatz von Funktionen nachdenken.
BlackJack

@zar1: Es hat eine Weile gebraucht bis ich „einreihen” verstanden habe. Ehrlich gesagt bis ich die anderen Antworten gelesen habe, die offenbar besser geraten haben als ich — das Wort hätte eigentlich „ein*rücken*” sein sollen. :-)

Ich schliesse mich den Vorrednern an: a) jeder vernünftige Editor kann so etwas und b) wenn es mehr als zwei oder drei verschachtelte Schleifen werden, wird der Code in der Regel zu komplex für *eine* Funktion und man sollte überlegen wie man eine oder mehrere innere Schleifen sinnvoll in eine neue Funktion heraus ziehen kann. Oder ob man nicht vielleicht statt einer Schleife eine Funktion anwenden kann wo schon eine Schleife „drin steckt”, also `map()`, `filter()`, irgendwas aus dem `itertools`-Modul oder anderen Modulen.

Nochmal zu a): Es kann auch sein das der Editor noch mehr dabei helfen kann, zum Beispiel gibt es welche mit einem Tastenkürzel welches alle zusammenhängenden Zeilen markiert die gleich weit oder tiefer als die aktuelle Zeile eingerückt ist. Damit kann man dann in der ersten Zeile von bereits vorhandenen verschachtelten Schleifen diese alle auf einen Schlag markieren ohne das „manuell” von der ersten bis zur letzten Zeile machen zu müssen. Es kann sich durchaus lohnen sich mal einen paar Stunden nur mit dem Editor auseinander zu setzen und zu lernen was der so alles an Funktionen bietet, insbesondere an Tastenkürzeln und Automatismen.
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

@BlackJack: Das hat mit Raten nichts zu tun. Mit Kindern und Frau läuft man permanent im quirks-mode ;)
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
BlackJack

Vielleicht lag's auch daran das ich noch nicht gefrühstückt hatte. :-)
Antworten