Gibt es in der Shell eine Kontrollstruktur analog case für Mehrfachauswahl?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Du kannst über den Input iterieren.

  1. Eingabe in einzelne Buchstaben unterteilen -> Abspeichern als array
  2. Schleife über den array -> case-Abfrage

Falls ich dein Problem richtig erfasst habe.

Schwieriger wird es, wenn es verschieden ist, ob es a und dann b bspw ist. Das kann man vielleicht über "Fall 1 UND Fall 2" lösen.


AncheCameo 
Fragesteller
 06.04.2023, 14:31

So, wie ich den Fall in der Frage beschrieben habe, lässt sich das in der Tat ganz gut über einen Array lösen. In der Praxis lese ich die Daten aber bereits über eine csv-Datei ein und wandele jede Zeile dieser Datei in einen Array um. Bei der Pflege der csv-Datei in LO Calc überlege ich, welche Befehlssequenzen ich für den jeweiligen Datensatz brauche und trage die entsprechende Buchstabenkombination in die passende Zelle ein.

Dieses Array-Feld nochmals in einen (Unter-)Array abzubilden und in eine Schleife einzubinden, wird mir dann, glaube ich, etwas zu kompliziert. Dann bleibe ich doch lieber bei der klassischen if-Verzweigung.

Es war eigentlich auch nur so eine Überlegung, ob es für solche Fälle ein »Quasi-case« gibt. Da dies anscheinend nicht der Fall ist, kann ich auch ganz gut ohne leben. ;-)

0
julihan41  06.04.2023, 14:36
@AncheCameo

Aha. Ja, da ist der Fall etwas komplexer, aber ich sehe nicht unbedingt einen Grund, warum das nicht auch so geht.

Vielleicht teilst du die eine Zelle mit beiden Schaltern auch einfach auf in zwei Zellen?

Ich weiß nicht, ob es ein "Quasi-case" nicht doch gibt, aber mir ist es nicht bekannt.

Was aber vielleicht für deinen Fall interessant ist: eine Funktion, die das übernimmt? Also Case1 in jeder Option -> Funktion -> Case2

Aber dafür kenne ich deinen konkreten Fall zu wenig und mehr darfst du aus Datenschutz vmtl nicht rausgeben xD

Vielleicht geht das auch in Python einfacher? Ich kann aber kein Python. Nur etwas Bash, C++ und Rust :P

0