NaCl Blog


gsubのラッパーは書けるか

NaClの前田です。

社内のコードレビュー会で、Railsで h(s).gsub(/.../) { ... } のようなコードを書いた時にブロック内で $1 が参照できなくてハマったという話が出ました。

hメソッドが返すのは実はStringオブジェクトではなくてActiveSupport::SafeBufferオブジェクトなのですが、 $1 のような特殊変数はローカル変数同様にメソッドを抜けると参照できなくなってしまうので、SafeBufferのように単純なgsubのラッパーを書いても参照できません。

実践的にはStringに変換してからgsubを呼べばよいのですが、「$1 などが参照できるgsubのラッパーは本当に書けないのか?」というのが今回のテーマです。

...続きを読む



あの超絶技巧Ruby意味不明コンテストin RubyKaigiが再び!

こんにちは。yhara@NaClです。

再来月に迫ったRubyKaigi 2018 仙台では、久々にあのコンテストの開催が予定されています。そう、TRICKです。

TRICK 開催文

TRICKは「超絶技巧 Ruby 意味不明コンテスト in RubyKaigi」は、簡単にいうと普通でないRubyプログラムのコンテストです。

普通でない、とはどういうことでしょうか?説明するよりも見てもらった方が早いと思うので、今日は過去のTRICKの入賞作品を振り返ってみます。きっと、あなたの知らないRubyの世界が広がっているはずです。

...続きを読む


QMK Firmwareによる日本語入力

NaClの前田です。

最近Viterbiという格子配列で左右分離型のキーボードを作ったので、職場で主に利用しています。

キーボード

このキーボードではレツプリなどの他の自作キーボードでもよく使われているQMK Firmwareというオープンソースのファームウェアを利用しているので、自由にカスタマイズすることができます。

この記事では、筆者が利用しているT-Codeという入力語入力方式をキーボード上に実装します。

...続きを読む