0
如何使用switch
運算符而不是大型運算符if/else
?如何使用開關運算符和最佳方式來迭代字符串和檢測符號
type token =
| DOT
| OPEN_BRACKET
| SYMBOL;
let dot_code = ".".[0] |> Char.code;
let open_bracket_code = "{".[0] |> Char.code;
let char_to_token symbol :token => {
let code = Char.code symbol;
let c =
if (code === dot_code) {
DOT
} else if (code === open_bracket_code) {
OPEN_BRACKET
} else {
SYMBOL
};
c
};
String.iter
(
fun symbol => {
let c = char_to_token symbol;
switch c {
| DOT => print_string " DOT "
| OPEN_BRACKET => print_string " OPEN_BRACKET "
| SYMBOL => print_char symbol
}
}
)
"a.s {";
或什麼是遍歷字符串,並檢測像.
和{
符號的最佳方法?