2017-06-05 5 views

答えて

3

はいあなたは、単にあなたがまたpatternor (|)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 matchingScala match case on regex directly

+0

@JRRを参照してください。更新された例を参照してください。基本的に 'hi。* | hello。*' regexが必要です – prayagupd

関連する問題