おさかなせいざ

おさかなせいざ

プログラミングメモや日記がわりに

最近知ったこととしたこと

イカで述べるClojureはversion 1.8.0 についてである。

Clojure について

Clojure の (case example ...)は (condp = example ...)と等価でない。 Enum の比較を行う際に case ではうまく動作しなかったが、condp であれば動いた。 理由がわからないままなので、Clojureメッチャデキル方はぜひとも教えて頂ければ幸いです。

JavaFX について

と書いたくせにまたClojureなんだけど、Clojurejavafx.scene.control.Label を使おうとして

(def label (Label. "Label"))

とかしたらコンパイルできずに怒られもしないし動かない。

Java 8 で Clojure を使う (2): JavaFX - tnoda-clojure

によると、これはLabelだけでなく、control に含まれるクラス全体らしい。 なのでこれを解決する場合する場合には

(def label (promise))

(defn init []
  (deliver label (Label. "Label")))

のようにすると動いたがバットノウハウ感がある。

JavaFX について

 今度はちゃんと JavaFX についてで、Scene には標準で setOnKeyPressed というキーボードが押された際に発火するhandlerを設定できるメソッドがあるが、 これは KeyCode を含まない。これは KeyEvent/KEY_PRESSED にもともと含まれていないことに起因する。 なので Scene 上で KeyCode が欲しかったら addEventFilter で KeyEvent/KEY_TYPED をとってやるハンドラを設定することで解決できる。 「JavaFXはク○」とか浅はかな知識で思ってごめんなさい。

PDF発表ツール

 良いっぽいのがあった

GitHub - pdfpc/pdfpc: A presenter console with multi-monitor support for PDF files.

けど自分の環境では動かなかったため、ClojureでPDF発表のためのツール開発を初めた。

github.com

上のClojureJavaFXを触っているのはこれを作るため。 現状はPDFの表示とページの移動まで実装できた。 もし気になったりすることがあったら使ってみて下さい。

基本情報とった

基本情報技術者試験してきた

 お久しぶりです。気が向いたときにしか更新しない(ネタがない)ので、記事数が増えないのが最近の悩みです。

 そんななか先日、4/16に基本情報技術者試験を受験しに大阪に行ってました。5/17に合格発表があり、どきどきしながら結果を確認すると無事合格しておりました。 これを記事にせんかったら何を記事にすんねん、と言われた気がしたので行くまでとか行ってきたとか試験対策とかそこらへんを書きます。

続きを読む