Elixir - Énoncé de cas

L'instruction case peut être considérée comme un remplacement de l'instruction switch dans les langages impératifs. Case prend une variable / littéral et lui applique une correspondance de modèle avec différents cas. Si un cas correspond, Elixir exécute le code associé à ce cas et quitte l'instruction case. Si aucune correspondance n'est trouvée, il quitte l'instruction avec une CaseClauseError qui afficheno matching clauses were found. Vous devriez toujours avoir un cas avec _ qui correspond à toutes les valeurs. Cela aide à prévenir l'erreur mentionnée ci-dessus. Cela est également comparable à ladefault case dans les instructions switch-case.

Syntaxe

La syntaxe d'une instruction if est la suivante -

case value do
      matcher_1 -> #code to execute if value matches matcher_1
	matcher_2 -> #code to execute if value matches matcher_2
	matcher_3 -> #code to execute if value matches matcher_3
	...
	_ -> #code to execute if value does not match any of the above
end

Exemple

case 3 do
   1 -> IO.puts("Hi, I'm one")
   2 -> IO.puts("Hi, I'm two")
   3 -> IO.puts("Hi, I'm three")
   _ -> IO.puts("Oops, you dont match!")
end

Le programme ci-dessus génère le résultat suivant.

Hi, I'm three

Notez que la sélection de cas est effectuée à l'aide de la correspondance de modèle, vous pouvez donc utiliser les techniques de correspondance de modèle standard.