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:下一个空迭代器 –