春なので4年前くらいにコップ本の初版を読んで以来の Scala を書きます。
- 作者: Martin Odersky,Lex Spoon,Bill Venners,羽生田栄一,水島宏太,長尾高弘
- 出版社/メーカー: インプレスジャパン
- 発売日: 2011/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 235回
- この商品を含むブログ (46件) を見る
Vim
vim-scala を入れて構文ハイライトなどを手に入れます。
syntastic
syntastic は後述する vim-ensime が syntastic のコマンドを呼んでおり、インストールしていないとエラーが出るので導入しました。
(もともと syntastic を使っていたのですが、非同期実行ができなかったのでブロックされてしまい使うのをやめていました。)
せっかくなので lightline.vim で構文チェック結果を表示するようにしました:
- dotfiles/syntastic.added.vim at 2667001bb9d4831c3eb7cced0ef5e88e5a3d5656 · aereal/dotfiles · GitHub
- 作者が教える! lightline.vimの設定方法! 〜 中級編 - 展開コンポーネントを理解しよう - プログラムモグモグ
ENSIME と vim-ensime
ENSIME brings Scala and Java IDE features to your favourite text editor
ENSIME とは IDE が提供するような定義元へのジャンプや型の表示などのリッチな機能を提供するツールです。
ENSIME は、ビルドツールと統合してプロジェクトの設定を書き出し (.ensime
)、エディタが JVM のプロセスを起動し TCP (WebSocket) で通信するというアーキテクチャになっています。
ドキュメントに書いてあるようにいくつかのエディタ、いくつかのビルドツールがサポートされています。
vim-ensime
ensime-vim は、ENSIME という IDE が提供するような定義元へのジャンプや型の表示などのリッチな機能を提供するツールの Vim 用クライアントを提供するプラグイン。
一時は開発が停滞しており使い物にならなかったそうですが、今はわりと活発に開発されているようでドキュメントに書いてあるとおりに導入したところちゃんと動いて使えています。
vim-ensime は Python インターフェースから WebSocket で ENSIME のプロセスと通信するという実装になっています。
websocket-client
という pip パッケージを入れる必要があるので、OS X の Python に sudo
を使って入れたくないので Homebrew で入れた Python を使います。
……が、手元に入れていた MacVim はシステムの Python にリンクしていたので python/dyn が使えるよう MacVim をビルドします。
brew unlinkapps brew unlink macvim brew tap macvim-dev/macvim brew install --with-properly-linked-python2-python3 --HEAD macvim-dev/macvim/macvim brew linkapps macvim-dev/macvim/macvim
✘╹◡╹✘ < vim --version | grep python +cryptv +linebreak +python/dyn +vreplace +cscope +lispindent +python3/dyn +wildignore
okok.
sbt
公式のインストール手順に書いてあるとおり sbt プラグインをインストールするだけ。
思い出す
手を動かします。
- GitHub - hatena/Hatena-Intern-Exercise2015: はてなインターン参加者向けの事前課題です
- GitHub - hatena/Hatena-Textbook: はてな研修用教科書
はてなインターン事前課題をやって、はてな教科書を読んで課題を進めます。Scala で Web アプリケーションを書くにあたってひととおりなにか書くにあたって、課題がまとまっていてよいです。
コップ本を片手に Scala API リファレンス を眺めるのも乙なものです。
おわり
(ひさしぶりに) Scala を書くにあたっていろいろ環境を整えたり、Scala を書く際の勘所を得る (取り戻す) ためにコードを書いたり資料を読んだりしました。
次は Play でちょっとしたアプリケーションを書いたので、その記録です。