(自分用) Scala Quiz 1
Q1. リストの定義方法は ?
val list = ???
Q2. 文字列が特定の文字で開始されているかを確認するには ?
val text = "hoge" text.???("h")
Q3. 数値から文字列にどのようにキャストする ?
val number = 7 val text = number.???
Q4. scala で java.util.List を foreach にするには ?
Q5. 以下の出力結果は ? (true or false)
val textA = new String("テキスト") val textB = new String("テキスト") println(textA == textB) println(textA.equals(textB))
Q6. Javaでは全てのクラスが Object クラスから派生している。では Scala では?
Q7.
以下のように、ダブルクオーテーション記号を3つつなげた"""で囲んだ文字列を何と呼ぶか?
scala> val greet = """Hello. | My name is Tom. | I like baseball. | """
Q8.
以下の文字列からURL部分を空白に置換するには ?
val greet2 = """Hello. My name is Tom. https://xxx.co/CoRLSLA I like baseball. """
Q9.
以下に当てはまるタプルを宣言してください。
val sample: Tuple2[String, Int] = ???
Q10.
以下のエラーの意味は?
error: return outside method definition
(解答例)
===================================
A1.
val list = List(1, 2, 3)
A2.
val text = "hoge" text.startsWith("h")
A3.
val number = 7 val text = number.toString
A4.
以下のライブラリをインポートすることで、暗黙の型変換が行われる。
import scala.collection.convert.WrapAsScala._
A5.
どちらも true
println(textA == textB) // true println(textA.equals(textB)) // true
A6.
scala.Any クラス
A7.
生文字リテラル。エスケープ文字を持たず、複数行の文字列を記述できる。
A8.
greet2.replaceAll("http[s].*","")
A9.
val sample: Tuple2[String, Int] = ("hoge", 7)
A10.
リターン式 return e は名前付きのエンクロージングメソッドや関数の中でしか使えないという言語仕様。
例えば以下のような定義を行うと、同エラーが発生する。
val hoge = (x: Int) => { return x }