#26: leaf.el インストール、Ruby チェリー本第 4 章の続き
やったこと(Done)
$ emacs --version GNU Emacs 26.3
$ emacs ~/.emacs.d/init.el
leaf.el のインストールコードをそのまま貼り付けて保存、バイトコンパイルする。
$ cd ~/.emacs.d/ $ emacs --batch -f batch-byte-compile init.el # もう 1 回実行して warning が出ないことを確認 $ emacs --batch -f batch-byte-compile init.el
とりあえず color theme を設定する。
(load-theme 'wombat t)
Ruby チェリー本
第 4 章を読み進める。コード片は REPL で試しつつ、カラーコード変換プログラムを書く。
テストは Rake から実行し、YARD でドキュメントも書くことにした。
基本的に RuboCop に従っているけれど、以下のようなブロックを &:
を使った記法で書くように警告されるのは何だかなぁと感じる。好きに書かせてほしい。そのうち慣れるのかもしれないけれども。
hex_str.scan(/\w\w/).map do |s| s.hex end
hex_str.scan(/\w\w/).map(&:hex)
あと書籍ではリファクタリングの上級編として以下のコードを挙げている。
def to_ints(hex) hex.scan(/\w\w/).map(&:hex) end
上記コードに続けて、「短いコード、簡潔なコードが善であり追求すべき」という意味合いの文章が書かれているのだけれど、それは本当に正しいのかなと少し疑問に思った。
例えば入力値が不正な値ではないかチェックするとか、そういうことを考えるとこの書き方は維持しにくいのではないだろうか。不正な入力値が来ることはない、という前提に依存した「短いコード、簡潔なコード」を目指す努力は必要なのかしらん。
(もし多くの Rubyist がそういう考え方に基づいてコードを書いているのだとしたら、それらのコードを読めるようになる必要があり、上記の努力は当然必要となる)
わかったこと(Fact)
参考文献(References)
Emacs
- Emacs入門から始めるleaf.el入門 - Qiita
- conao3/leaf.el: Flexible, declarative, and modern init.el package configuration
Ruby
- class Array (Ruby 2.7.0 リファレンスマニュアル)
- WEB色見本 原色大辞典 - HTMLカラーコード
- YARD Documenter - Visual Studio Marketplace
- File: Getting Started Guide — Documentation for yard (0.9.25)
- class String (Ruby 2.7.0 リファレンスマニュアル)
- 制御構造 (Ruby 2.7.0 リファレンスマニュアル)