読書会(Scalaスケーラブルプログラミング)第8回議事録

[ 戻る ]


Scalaスケーラブルプログラミング第8回議事録
2010年6月26日
参加者: 村山、今井、松永、高橋(智)、吉本、岩室、岡沢、小棚木、高橋(徹)
書記:高橋(智)

27 オブジェクトを使ったモジュラープログラミング
P472
■そもそもScalaの「モジュール」とは?
 -->定義が無い
 -->言語上のモジュールサポートは無い

27.2 「レシピ」アプリケーション
P475
■リスト27.4のallFoodsとrecipesUsingメソッドの戻り値の型は、記述する必要が無い?
 -->推論できるからか?
 -->そもそもScalaの推奨するメソッド戻り値の型の書き方は?
■リスト27.4のfoodNamedメソッドの戻り値の型は必須なのか?
 -->不要だろう
 -->そもそもScalaの推奨するメソッド戻り値の型の書き方は?

27.3 抽象化
P478
■リスト27.8のallFoodsメソッドの戻り値の型は不要?
 -->型が無くてもメソッドをオーバーライドしたことになるのか?

27.5 実行時リンク
P481
■そもそも「リンク」とは?
 -->クラスをロードすること?
■「特筆すべきもの」とは?
 -->何が凄いのか分からない

28.4 equalsとhashCodeのレシピ
P505
■「super.hashCodeの呼び出しから始めなければならない」のは何故?
 -->Scalaの推奨するガイドラインなのか?

29.1 JavaからScalaを使うための注意点
P508
■ScalaのサポートするJDKのバージョンは?
 -->JDK1.5以降
 -->生成されるclassファイルのターゲットのJVMのバージョンは?
   -->1.5だろうが、1.4も可能かも
    -->宿題!!

29.2 アノテーション
P511
■(134L)は(1234L)の誤植

30.2 アクターとメッセージ交換
P521
■メールボックスとは?
 -->メッセージを受け取るためのもの
■メッセージとは?
 -->!メソッドを使って渡すもの

P523
■!メソッドの引数は?
 -->何でもOK。Any型。一般的にはケースクラスのオブジェクト。
■受信は「receiveメソッド」という名前なのに、なぜ送信は「!メソッド」という記号なのか?
 -->「sendメソッド」でいいはずなのに、一貫性がない

P524
■intActorにはwhileループが無いが...
 -->マッチするメッセージが届くまで、ブロックしているからOK
   -->マッチしないメッセージは捨てられる
 -->2度目に「! 12」で送信したメッセージの受信は?
   -->何も起きない。メッセージは溜まり続ける。
 -->再度、start() メソッドを呼び出すのはOK?
   -->どうなるのか確認(宿題)

次回は、P540の30.6.3から


[ 戻る ]