Select Case

Beschrijving: SELECT CASE Is een constructie (in de beslissingsstructuur) van Liberty BASIC
om een opgave te evalueren en daarna de evaluatie op een heel stel voorwaarden te testen

De syntaxis voor Select Case is:
SELECT CASE var
CASE x
'basic code
'gaat hier
CASE y
'basic code
'gaat hier
CASE z
'basic code
'gaat hier
CASE else
'basic code
'gaat hier
END SELECT

Details:
SELECT CASE var - bepaalt de start van het proces-
Het wordt gevolgd door de variabele die eerst zal worden geëvalueerd.
De variabele kan een numerieke variabele of een string zijn, of een uitdrukking zoals "a+b".

CASE value -statements die na SELECT CASE volgen (na de evaluatie of berekening)-
Zij vormen nu de individuele statements waarin deze geselecteerde variabelen, aan voorwaarden worden getest.
De code na de "case" statement wordt uitgevoerd als de test aan de voorwaarde
een true (WAAR) oplevert. Er is geen grens aan het aantal voorwaarden dat
voor evaluatie kan worden gebruikt.

CASE ELSE - bepaalt een blok van uit te voeren code-
Dit blok wordt uitgevoerd als de geselecteerde waarde aan geen enkele andere CASE voldoet.

END SELECT - signaleert het eind van CASE het einde van SELECT CASE constructie.

Een voorbeeld:

num = 3
select case num
case 1
print "one"
case 2
print "two"
case 3
print "three"
case else
print "other number"
end select

Het bovenstaand voorbeeld geeft in de mainwin de volgende output:

three

Strings
SELECT CASE kan ook strings evalueren op dezelfde manier zoals numerieke uitdrukkingen worden gedaan.

String voorbeeld:
var$="blue"
select case var$
case "red"
print "red"
case "green","yellow"
print "green or yellow"
case else
print "color unknown"
end select

MEERVOUDIGE CASES
mogen geevalueerd worden indien die gescheiden worden door een komma.

Bijvoorbeeld:
select case a+b
case 4,5
do stuff
case 6,7
do other stuff
end select

Zodra aan één van de voorwaarden is voldaan, worden geen andere gevallen verder geëvalueerd.
In het volgende voorbeeld, zal aangezien de waarde aan de voorwaarde van de
eerste CASE statement voldoet, de tweede CASE statement niet besproken worden,
alhoewel de waarde aan die voorwaarde ook voldoet.

num = 3
select case num
case 3, 5, 10
print "3, 5, 10"
case 3, 12, 14, 18
print "3, 12, 14, 18"
case else
print "Not evaluated."
end select

Het bovenstaand voorbeeld geeft in de mainwin als resultaat:
3, 5, 10

Indien men meervoudige voorwaarden in het CASE statement laat evalueren en daarbij
afziet van de variabele of uitdrukking die na SELECT CASE volgt
dan worden de voorwaarden in hun geheel geevalueerd. Om de uitdrukking (of variabele) te negeren, kunt u simpelweg "select case" typen zonder
een variabele of uitdrukking er achter.

In het volgende voorbeeld, zal omdat "value" tot de eerste voorwaarden evalueert,
het CASE statement als antwoord geven "First case"

'correct:
value = 58
select case
case (value < 10) or (value > 50 and value < 60)
print "First case"
case (value > 100) and (value < 200)
print "Second case"
case (value = 300) or (value = 400)
print "Third case"
case else
print "Not evaluated"
end select

Indien de uitdrukking "value" wordt geplaatst achter "select case",
dan wordt in dit geval aan geen van de voorwaarden voldaan, waardoor
het CASE ELSE gedeelte wordt aangesproken hetgeen zorgt voor "Not evaluated".
'incorrect usage if multiple cases must be evaluated:

select case value

Nested statements
genestelde select case statements mogen ook gebruikt worden.

Voorbeeld:
select case a+b
case 4,5
select case c*d
case 100
do stuff
end select
do stuff
case 6,7
do other stuff
end select

Zie ook: if...then