ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

SFリプレイ『シェローティアの空砦』完結編

2013-06-24 20:51:56 | TRPG

セブン=フォートレスリプレイ7『シェローティアの空砦』(2013-05-31)

久しぶりにTRPGネタ。(感想をいちいち書くのが大変になってきたのでサボってたんだけど(DQ10が忙しかったからという訳ではないw)、)S=Fの完結にはさすがに言及したいと思った次第。
以前どこかに書いたけど、なんと言ってもS=FはTRPGの再興隆のきっかけになった作品だと思っているので。7作全部終わるというのは、読者としても感慨深い。

まぁS=F7自体が5冊出ていて、しかも年1冊ペースなので中身をけっこう忘れていて、2冊くらい前から読み直したけどw
5巻目自身も天さんネタや7人衆ネタがあったりと相変わらず(笑)
シンゴやエレナ・モンタの謎とか、さすがです。冥魔王が最初から7人いなかったという話で納得してたらさらに裏があったりとか、やられたし!

S=F1から全部読み直してみたいけど、時間も無いから、やっぱり老後かなぁw
(ちなみに、引っ越した際のダンボール箱の中なので、どこにあるかも不明なのだが(爆))

ヒュウガの復活シーンは、もうちょっとちゃんと書いてもらいたかったような気もする。この辺りは短編リプレイ集でも出して語ってもらおう(笑)

それと、桃尻勇者は復活したのか?という辺りがちゃんと描かれていない、ということは…S=Fの続編への伏線ってことだよな!(笑)
そういえば、ラスィが何故アルマジューロを育てていたのか、という点も結局明かされなかった気がするし!


Scala2.10のさわり

2013-06-08 23:36:56 | PG(Scala)

ひさびさにScalaネタ。
Scala2.10が出たので変化した箇所を調べたいなーと前から思ってたんだけど、たまたま2.10.2が出たことだし、xuweiさんのScala2.10 以降に入るかもしれない機能まとめを参考にしつつ、興味ある部分を見てみた。
(ドラクエ10が全職業でレベル50になったから小休止中で時間が出来たとか、そんな事は無いですよ?w)

まずいつも調べているのが、MapとかList(Seq)のコレクションメソッドが追加されているかどうか。
今回はtoくらいしか目立つものは無かったかな。あ、toVectorも追加されてたけど、今まで無かったのかって感じ(笑)
applyOrElseやrunWithはPartialFunction関係みたいで、使いどころがイマイチよく分からないし(爆)
そういえばdeprecated(非推奨)だったメソッドが削除されたみたいだけど、自分のページでは非推奨メソッドはそもそも書いてなかったので、影響は無いw

REPLでもコマンドに増減がある。2.9で導入されて2.10で廃止されたのもあるみたい^^;
便利なのが、「:warning」コマンド!
非推奨な文法を使ったりすると「re-run with -deprecation for details」という警告が出て、詳細を知りたければ、今まではscalaコマンドに「-deprecation」を付けて再起動して同じ文を実行する必要があった。
今回からは警告が出たら「:warn」と入れるだけで詳細情報が表示される!

Scala2.10で文法的に大きな追加は以下のものかな。
値クラス
implicit class
文字列の補間
implicit classはpimp my libraryパターンに替わるもので便利なので、押さえておきたい。
文字列の補間は、整形に便利そう。DSLを作る際とかにも何かに使えるかも?

ClassManifestが非推奨になったのはちょっとびっくり。
代わりに新設されたClassTagは、メソッド名が違うだけでClassManifestとほとんど同じ使い方っぽいけど。

新設されたDynamicはなかなか面白い。
エンティティーとかを自動生成するライブラリーでは使い道がありそうな気がする。

日付関連では、噂のJodaTimeとやらは入っていないのかな?
durationという、期間(時間)を表すパッケージは新設されたみたいだけど、これだけでは何とも^^;

あと、dbcはばっさり削除されたみたい。
それなりに面白い仕組みだったんだけどなー(まともに使ったことないけど(爆))


Eclipseのルーラー

2013-06-05 22:45:06 | PG(Java)

Asakusa FrameworkのDMDLエディターEclipseプラグイン)を作っていて、記述されたDMDLにエラーがあったらエラーマークを出すことは出来ていた。

が、普通のJavaエディターなら、エラーのある行の左側にエラーマークが出ると同時に、右側にもエラーの印が付く。(ファイル内のエラー分布が分かるし、この印をクリックするとエラーの行にジャンプできる)
のに、DMDLエディターでは右側の印が出ていなくて不便だった。
なんでだろう?と思ってググってみたのだが、同様の現象が起きている例は見つけられなかった。最終的には原因が分かって修正できたのだが。

まずググってみたキーワードは「Eclipse TextEditor marker 右側」といった感じ。そもそもこの「右側の印」を何と呼ぶのか分からないので、とりあえずそれを調べる。
で「左側のマーク」が出る領域(列)を「vertical ruler」、「右側の印」が出る領域(列)を「overview ruler」と呼ぶことが分かった。
(設定ページの「一般→エディター→テキストエディター→注釈」でルーラーに出る印の色を変えられるらしく、その設定名で分かった)
で、それを元にググってOverviewRulerというクラスを発見。
これを自分で実装しなきゃいけないのかなぁと思いつつTextEditorのソース内をoverviewとかrulerで検索したら、OverviewRulerはデフォルトで準備されているらしかった。
「うおーなんでじゃー?!」
と思いつつ さらに自分のソースを追ったら、怪しい箇所を発見!

@Override
protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler ruler, int styles) {
  // フォールディングの為のViewerを作成
  ISourceViewer viewer = foldingManager.createSourceViewer(parent, ruler, fOverviewRuler, styles);
  ~
}

fOverviewRulerというフィールドがOverviewRulerを保持するのだが、この時点では初期化されていなかった(nullだった)orz
そのせいでOverviewRulerの領域(列)自体が確保されず、表示されていなかったのだ…。

なんでこんなソースになってるのかなーと思ったけど、フォールディングのサンプルをそのまま写したらこうだったんだよね、ちくしょー><
という訳で、親クラスのcreateSourceViewer()をコピペしてOverviewRulerインスタンスを作るようにしたら、あっさり表示された^^;
(自分のコーディングのせいでは、ググっても同様の現象は見つからないわなぁ) 

分かってみれば1ステップくらいの修正量だけど、分かるまでにえらく時間がかかるという、典型的な例だった(苦笑)