0
我已經設置元音:檢查字符屬於集合
val vowels = immutable.Set("A", "E", "I", "O", "U", "Y", "a", "e", "o", "u", "y")
而且我有一組字。而且我需要檢查來自set的第一個字母是否屬於元音。
我已經設置元音:檢查字符屬於集合
val vowels = immutable.Set("A", "E", "I", "O", "U", "Y", "a", "e", "o", "u", "y")
而且我有一組字。而且我需要檢查來自set的第一個字母是否屬於元音。
假設詞是字串:
vowels(word.head)
將返回一個布爾值。並根據使用情況,你可以做這樣的事情:
words.map(vowels(_.head))
words.filter(vowels(_.head))
要檢查一個字:
scala> vowels.contains("foo".head.toString)
res2: Boolean = false
scala> vowels.contains("oops".head.toString)
res3: Boolean = true
要檢查單詞的List
:
scala> val words = List("foo", "bar", "ate", "elf", "baz")
words: List[String] = List(foo, bar, ate, elf, baz)
scala> words.map(w => vowels.contains(w.head.toString))
res8: List[Boolean] = List(false, false, true, true, false)
您也可以定義vowels
作爲Char
然後在您的測試中使用toLower
:
scala> val vowels = Set('a', 'e', 'i', 'o', 'u')
vowels: scala.collection.immutable.Set[Char] = Set(e, u, a, i, o)
scala> vowels.contains("Oops".head.toLower)
res18: Boolean = true
嘗試使用'vowels.contains(w.head)'('w'作爲你的一個單詞) – mfirry
'head'不應該被使用 - 它是部分的:'scala>「。」頭文件 java.util。 NoSuchElementException:下一個空迭代器 –