diary

I like Hatena Star with a text selection.

2020-02-05

誕生日プレゼントにいただいたボイドキューブを眺めていた。 普通の3x3x3キューブだと発生しない状態になったのでどうしてかなあと考えていたら、ruby-jpの #cubing でznzさんにアイディアをもらって普通のキューブで再現することができた。


https://github.com/rails/rails/blob/1dac170c236a4ba30ffad9b8d648bcc396e9c78a/activerecord/lib/active_record/explain.rb#L30-L33

AR::Relation#explainの結果がrails consoleでいい感じにハイライトされるのはなぜだろう、と眺めていた。

  • 一度変数に代入したりしてもハイライトは継続される
  • Object#itselfを呼んでもハイライトは継続される
  • String#dupするとハイライトされない
  • String.new(explain)するとハイライトされない

ので、explainが返すオブジェクト自身がなにかフラグ的なやつを持っているのかなあと推測して眺めていた。

rails consoleで$ str.inspectのようにしたらinspectが上書きされていて単にselfを返すようになっていた。

つまり、pryは特別なことをしていなくて、単にselfをそれっぽくハイライトしているだけみたい。なるほどなあ。


若い読者のための宗教史を読み終わった。このシリーズの他の本の方がおもしろかったかなあ。 でも良い本だと思う。2日間ぐらいで読み終わってしまった。 https://scrapbox.io/pocke-sub/%E8%8B%A5%E3%81%84%E8%AA%AD%E8%80%85%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E5%AE%97%E6%95%99%E5%8F%B2


メソポタミア文明入門 (岩波ジュニア新書)

メソポタミア文明入門 (岩波ジュニア新書)

今読んでいる。 岩波ジュニア新書だから子供向けなのかな?と思ったけどそうでもなさそう。充分楽しめる。

ちょこちょこ今まで読んだ本とリンクする内容が出てきて楽しい。アマルナ文書はエジプトの本で出てきたし、バビロン捕囚は旧約聖書の本や先に上げた若い読者の〜でも出てきた。

これを読んだ後、考古学周りの本を何冊か読もうかなあと思っている。


github.com

すこし前に作ったrubocop-regular_expressionの今後を考えていたのをIssueにした。 個人的には本家に混ぜちゃうのが良いような気がするけど、どうかなあ。

そういえば、このプラグインは最初rubocop-regexpとして作ろうとしたのだけど、RuboCop::Regexpモジュールが誕生することでRuboCop内のコードでRegexp定数を参照するところが壊れまくったので諦めたのだった。


pocke.hatenablog.com

書こうと思ってしばらく放置してた記事をえいやで公開した。 ほどほどに声をかけてもらえたら嬉しいなあ。


github.com

steepを使う関係上普通のRuboCopのテストの仕組みに乗るのは難しそうだなあと思ってテストを放置していたけど、つらくなってきたので実装した。 やっていることは単純で、rubocopを実行してその出力を比較しているだけ。

Enumerator#slice_whenべんりですね。