AccessViolation Exception

仕事でもはんだづけ、家でもはんだづけ

scalaでjava.util.Date拡張ライブラリを作ってみる

言われてみればscalacできちんとコンパイルせず書捨てのコードだらけの開発をして慣れてきたつもりではあるscala、そろそろ本格的に発展させていけそうだといろいろ試行錯誤してつらいとき

java.util.Date


いまはもうjava.util.Calendarを使えみたいなのが主流ではあるけどこいつらは加減算することができない。

scalaから時刻計算で不便に感じたのでTimeSpanを実装するのだが、今回は別ファイルとしてコンパイルして利用する形態にする。無論intellij ideaなどには頼らない

そういえば初めての頃package指定でつまずいたっけ
//Yey.scala
package kamiya
println("Yey!")

scalaで実行しても

kamiya> scala Yey.scala  
********/Yey.scala:1: error: illegal start of definition
package kamiya
^
one error found

どうして、サンプルと同じなのに...となった記憶もあったのできちんと調べておくべきだと思ったのが主な理由、ちなみにコンパイルして実行すれば普通に行ける

まとめ


  • implicit classはトップレベルに置けない
    • package下はトップレベルに当たるので何かしらのオブジェクトの下に置かなければならない
  • あとは適当

java.util.Date : add +/-