2016年2月22日

日記

JavaEnum (列挙型)的なことを Scala でやるには sealed abstract classs と case object でやるのがいいそうで。 ネットで検索すると、もともと列挙型のために作られた Enumeration はよろしくない、という記事がトップに。 でも別に使っちゃいけないというわけでもないようで。

case object 使う方法でちょっと困ったのは、定義されている定数全てを取得する方法。 JavaEnum でいう values() メソッドみたいなの。 定数の数が少ないなら手で書けばいいんだけど、数が増えるにつれ保守が大変そう。 case object の定義箇所によっては、たぶん(Java の)リフレクションを使えば取得できそうな気はするんだけど、まだあんまり試してない。 どこかのコンパニオン・オブジェクトの中に定義すれば、内部クラスとして取得したりできるのかな? ただ、ちょっと気がかりなのは、リフレクションを使うと AndroidScala.js でライブラリが使えなくなりそうなところ。 たしか無理だよね・・・ リフレクション使ってるメソッドを呼び出さなかったら OK みたいなのはあるかもしれないけど。

まぁ仕方ないので、全定数を返すメソッドに全定数をがっつりハードコーディングして、テストでリフレクション使って取得した結果と合ってるか検証しようか。 アーメンどぅ。

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)


NHK 世界のニュース ザッピング(翌日)

  • 【米 ABC】 奇跡の連携で人命救助
  • 【英 BBC】 植物に襲われた町
  • 中国中央テレビ】 帰省列車笑顔のおもてなし
  • 【独 ZDF】 100年前の仏独の激戦再現
  • 【ロシア TV】 厳冬の川につかりチェスで対戦
  • 【韓国 KBS】 キム第1書記“ピョンヤンを死守”

ツイート (ツイート数 55)