RubyリファレンスマニュアルのStringScanner#skipの間違い

RubyリファレンスマニュアルのStringScanner#skipの間違いがある。
あるいは、実装のバグか?

skip(regexp)

スキャンポインタの地点だけで regexp と文字列のマッチを試します。マッチしたらスキャンポインタを進めマッチした部分文字列の長さを返します。マッチしなかったら nil を返します。

このメソッドはマッチが成功してもスキャンポインタを進めません。

strscan – Rubyリファレンスマニュアル

実際には、このメソッドはマッチが成功するとスキャンポインタが進む。

ビル・ゲイツはRubyを初めて見たとき「どうやったらこんなことができるの?」と尋ねた

コンピュータは、むずかしすぎて使えない!』に、こんなエピソードがありました。

「Visual Basicの父」アラン・クーパーが、ビル・ゲイツにRubyを見せたときの反応。

ビル・ゲイツはそれを初めて見たとき「どうやったらこんなことができるの?」と尋ねたものだ

コンピュータは、むずかしすぎて使えない!』より

ビル・ゲイツにとって、Rubyは驚くほど画期的なプログラムだったのかもしれません。

ちなみに、この話は1988年のこと。
その後、このビジュアルプログラミング言語RubyはBasicに移植されて、Visual Basicになりました。

Ruby on Railsを使うならバージョン2.2以上を使おう

Ruby on Railsを使うならバージョン2.2以上を使おう。

バージョン2.1以下は、セキュリティホールが放置されている。
いずれも、バージョン2.3.4と2.2.3で修正されている。

とはいっても、バージョン間での互換性が低いのがRuby on Railsの特徴。
既存のシステムのバージョンアップも楽ではない。

Railsの思想

“Railsという現象”とコミュニティの性質」で、Rails開発者がRailsの思想について語っている部分が興味深い。

以前に書いた記事「Rubyの後方互換性の低さは、Rubyの良さである。」と同じようなものだけど。

「枯れたバージョンのRailsというものはない。昨日のバージョンより今日のバージョンのほうがいいし、今日のものより明日のRailsがいい。だから常に“今”のRailsがベスト」

“Railsという現象”とコミュニティの性質

とか、

「Railsでは新機能が未完成のまま出てくることが多い。攻めのプロダクト。完成していなければ、自分が完成させながら使えばいいじゃんという認識がコミュニティ側にある」

“Railsという現象”とコミュニティの性質

など。

こういう思想を理解せずに使うと、後で痛い目に遭うかもしれない。