はいあなたは、単にあなたがまたpattern
のor (|)
match
に1、
scala> "hi" match { case "hello" | "hi" => println("fantastic") case _ => println("very very bad")}
fantastic
scala> "hello" match { case "hello" | "hi" => println("fantastic") case _ => println("very very bad")}
fantastic
scala> "something else" match { case "hello" | "hi" => println("fantastic") case _ => println("very very bad")}
very very bad
をすることができます使用することができますパターン一致にregexを使用します。一致する基準が多い場合に特に便利です。
scala> val startsWithHiOrHello = """hello.*|hi.*""".r
startsWithHiOrHello: scala.util.matching.Regex = hello.*|hi.*
scala> "hi there" match { case startsWithHiOrHello() => println("fantastic") case _ => println("very very bad")}
fantastic
scala> "hello there" match { case startsWithHiOrHello() => println("fantastic") case _ => println("very very bad")}
fantastic
scala> "non of hi or hello there" match { case startsWithHiOrHello() => println("fantastic") case _ => println("very very bad")}
very very bad
正規表現ではなくOR` `の良いアイデアである場合にはScala multiple type pattern matchingとScala match case on regex directly
@JRRを参照してください。更新された例を参照してください。基本的に 'hi。* | hello。*' regexが必要です – prayagupd