ಗಿಡೋ ವ್ಯಾನ್ ರೋಸಮ್
ಹೊಸ ಅನುಷ್ಠಾನವು ಸ್ಕಾಲಾ, ರಸ್ಟ್ ಮತ್ತು ಎಫ್# ನಲ್ಲಿ ಒದಗಿಸಲಾದ "ಮ್ಯಾಚ್" ಆಪರೇಟರ್ನಂತೆಯೇ ಇರುತ್ತದೆ, ಇದು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಅಭಿವ್ಯಕ್ತಿಯ ಫಲಿತಾಂಶವನ್ನು "ಕೇಸ್" ಆಪರೇಟರ್ನ ಆಧಾರದ ಮೇಲೆ ಬ್ಲಾಕ್ಗಳಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾದ ಮಾದರಿಗಳ ಪಟ್ಟಿಯೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ. ಸಿ, ಜಾವಾ ಮತ್ತು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಲಭ್ಯವಿರುವ "ಸ್ವಿಚ್" ಆಪರೇಟರ್ಗಿಂತ ಭಿನ್ನವಾಗಿ, "ಮ್ಯಾಚ್"-ಆಧಾರಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು ಹೆಚ್ಚಿನದನ್ನು ನೀಡುತ್ತವೆ
ಡೆಫ್ http_error(ಸ್ಥಿತಿ):
ಹೊಂದಾಣಿಕೆಯ ಸ್ಥಿತಿ:
ಪ್ರಕರಣ 400:
"ಕೆಟ್ಟ ವಿನಂತಿ" ಹಿಂತಿರುಗಿ
ಪ್ರಕರಣ 401|403|404:
ಹಿಂತಿರುಗಿ "ಅನುಮತಿ ಇಲ್ಲ"
ಪ್ರಕರಣ 418:
ಹಿಂತಿರುಗಿ "ನಾನು ಟೀಪಾಟ್"
ಪ್ರಕರಣ_:
"ಬೇರೆ ಏನಾದರೂ" ಹಿಂತಿರುಗಿ
ಉದಾಹರಣೆಗೆ, ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮೌಲ್ಯಗಳ ಆಧಾರದ ಮೇಲೆ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಬಂಧಿಸಲು ನೀವು ಆಬ್ಜೆಕ್ಟ್ಗಳು, ಟುಪಲ್ಗಳು, ಪಟ್ಟಿಗಳು ಮತ್ತು ಅನಿಯಂತ್ರಿತ ಅನುಕ್ರಮಗಳನ್ನು ಅನ್ಪ್ಯಾಕ್ ಮಾಡಬಹುದು. ನೆಸ್ಟೆಡ್ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು, ಟೆಂಪ್ಲೇಟ್ನಲ್ಲಿ ಹೆಚ್ಚುವರಿ “if” ಷರತ್ತುಗಳನ್ನು ಬಳಸಲು, ಮುಖವಾಡಗಳನ್ನು (“[x, y, *rest]”), ಕೀ/ಮೌಲ್ಯ ಮ್ಯಾಪಿಂಗ್ಗಳನ್ನು (ಉದಾಹರಣೆಗೆ, {“bandwidth”: b, “lateency) ಬಳಸಲು ಅನುಮತಿಸಲಾಗಿದೆ ”: l} "ಬ್ಯಾಂಡ್ವಿಡ್ತ್" ಮತ್ತು "ಲೇಟೆನ್ಸಿ" ಮೌಲ್ಯಗಳು ಮತ್ತು ನಿಘಂಟನ್ನು ಹೊರತೆಗೆಯಲು, ಉಪಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ಹೊರತೆಗೆಯಲು (":=" ಆಪರೇಟರ್), ಟೆಂಪ್ಲೇಟ್ನಲ್ಲಿ ಹೆಸರಿನ ಸ್ಥಿರಾಂಕಗಳನ್ನು ಬಳಸಿ. ತರಗತಿಗಳಲ್ಲಿ, "__match__()" ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಹೊಂದಾಣಿಕೆಯ ನಡವಳಿಕೆಯನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಲು ಸಾಧ್ಯವಿದೆ.
ಡೇಟಾಕ್ಲಾಸ್ಗಳಿಂದ ಡೇಟಾಕ್ಲಾಸ್ ಅನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಿ
@ಡೇಟಾಕ್ಲಾಸ್
ಕ್ಲಾಸ್ ಪಾಯಿಂಟ್:
x:int
y:int
ಡೆಫ್ ಅಲ್ಲಿ (ಪಾಯಿಂಟ್):
ಮ್ಯಾಚ್ ಪಾಯಿಂಟ್:
ಕೇಸ್ ಪಾಯಿಂಟ್(0, 0):
ಮುದ್ರಣ ("ಮೂಲ")
ಕೇಸ್ ಪಾಯಿಂಟ್(0, y):
ಮುದ್ರಣ(f"Y={y}")
ಕೇಸ್ ಪಾಯಿಂಟ್(x, 0):
ಮುದ್ರಣ(f"X={x}")
ಕೇಸ್ ಪಾಯಿಂಟ್():
ಮುದ್ರಣ ("ಬೇರೆ ಎಲ್ಲೋ")
ಪ್ರಕರಣ_:
ಮುದ್ರಣ ("ಬಿಂದುವಲ್ಲ")
ಮ್ಯಾಚ್ ಪಾಯಿಂಟ್:
ಕೇಸ್ ಪಾಯಿಂಟ್(x, y) x == y:
ಮುದ್ರಿಸು(f"Y=X ನಲ್ಲಿ {x}")
ಕೇಸ್ ಪಾಯಿಂಟ್(x, y):
ಮುದ್ರಣ (f"ಕರ್ಣದಲ್ಲಿ ಅಲ್ಲ")
ಕೆಂಪು, ಹಸಿರು, ನೀಲಿ = 0, 1, 2
ಹೊಂದಾಣಿಕೆಯ ಬಣ್ಣ:
ಪ್ರಕರಣ .RED:
ಮುದ್ರಿಸು ("ನಾನು ಕೆಂಪು ನೋಡುತ್ತೇನೆ!")
ಪ್ರಕರಣ .ಹಸಿರು:
ಮುದ್ರಣ ("ಹುಲ್ಲು ಹಸಿರು")
ಪ್ರಕರಣ .BLU
E:
ಪ್ರಿಂಟ್ ("ನಾನು ಬ್ಲೂಸ್ ಅನ್ನು ಅನುಭವಿಸುತ್ತಿದ್ದೇನೆ :(")
ಪರಿಶೀಲನೆಗಾಗಿ ಒಂದು ಸೆಟ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ
ಮೂಲ: opennet.ru