Zum Beispiel ...
min_value | max_value | wird bearbeitet |
---|---|---|
null | null | nichts tun |
null | not null | Stellen Sie sicher, dass die Obergrenze unterschritten wird |
not null | null | Stellen Sie sicher, dass es größer als die Untergrenze ist |
not null | not null | Stellen Sie sicher, dass es sich in Reichweite befindet |
Normalerweise so
Main.java
class Main {
public static void main(String[] args) {
}
private static String hoge(int value, Integer min_value, Integer max_value) {
if (min_value == null && max_value == null) {
//nichts tun
return "";
}
if (min_value == null) {
//Obergrenze prüfen
return "";
}
if (max_value == null) {
//Untergrenze prüfen
return "";
}
//Bereichsprüfung
return "";
}
}
»Auf den ersten Blick ist es schwer zu verstehen
main.swift
func hoge(_ value: Int, _ min_value: Int?, _ max_value: Int?) -> String {
//Optional kommt nicht ab
switch(min_value != nil, max_value != nil) {
case (true, true):
return "" //Bereichsprüfung
case (true, false):
return "" //Obergrenze prüfen
case (false, true):
return "" //Untergrenze prüfen
case (false, false):
return "" //nichts tun
}
}
Für Pytyon3
main.py
def hoge(value, min_value, max_value):
command = {
(True, True): lambda: "", #Bereichsprüfung
(True, False): lambda: "", #Untergrenze prüfen
(False, True): lambda: "", #Obergrenze prüfen
(False, False): lambda: "", #nichts tun
}
return command[(min_value is not None, max_value is not None)]()
Wenn es einen besseren Weg gibt, lassen Sie es mich bitte wissen.
Recommended Posts