Rubyの世界には「RubyのことはRubyに聞け」という格言があります1。 この格言に従い、早速Arrayクラスがどんなメソッドを持っているかRubyに聞いてみます。irbを使います。 % irb irb> Array.instance_methods(false) => [:inspect, :to_s, :to_a, :to_ary, :frozen?, :==, :eql?, :hash, :[], :[]=, :at, :fetch, :first, :last, :concat, :<<, :push, :pop, :shift, :unshift, :insert, :each, :each_index, :reverse_each, :length, :size, :empty?, :find_index, :index, :rindex, :join, :reverse,
numbers = [3, 4, 5] numbers.push(6, 7, 8) # => [3, 4, 5, 6, 7, 8] numbers << 9 numbers # => [3, 4, 5, 6, 7, 8, 9]
Rubyのクラスはオープンです。つまりRubyのユーザが既存のクラスを開いて自由に実装を弄ることができるのです。組み込みクラスとてその例外ではありません。 既存のクラスを開いてメソッドを追加したり再定義したりすることを、業界用語で「モンキーパッチ」といいます。モンキーパッチという語には明らかに批判的・軽蔑的ニュアンスが含まれていますが、多くのRubyistはそれにひるむこと無く良くモンキーパッチします。何しろドアはいつも開いてるんですからねぇ。 るびおのモンキーパッチ モンキーパッチャー「るびお」は、製作中のライブラリで多次元配列の要素に頻繁にアクセスする必要が生じました。これには通常、Array#[]または#atを使って次のようにアクセスします。 irb> arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] irb> arr[1][2] => 6 irb> a
I am thrilled to announce that my book Confident Ruby is now finished. I even hit my target of releasing by September 1st… if by “September 1st” I had meant “of the following year”. So what is this book and why should you buy it? Confident Ruby is, first and foremost, a book about joy. It’s about the joy I found when I first discovered how elegantly and succinctly I could state problems in Ruby co
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist
「Rubyのメソッドを数えましょう♫」の続きです… メグ「ねえ、配列オブジェクトのメソッド数については分かったから、こんどはArrayクラス自身のメソッドについて教えてくれる?」 るびお「…えっ?あぁ…。」 メグ「じゃあ、Arrayクラスに対して呼び出せるメソッドの数って、いくつあるのかな?」 るびお「えっ?同じようにirbを叩けばいいと思うんだけど…。」
メグ「ねえ、[1,2,3]みたいな配列オブジェクトに対して呼び出せるメソッドの数って、いくつくらいあるの?」 るびお「えっ?そんなのirb叩いてRubyに聞けば直ぐわかるじゃん。こうだよ。」
■概要 rubyにおけるテスト網羅率の定番ツールといえばrcovですが、どうもテストの通っている箇所の色付けがおかしいのと網羅率に誤差があると感じてました。 よくよくgithubのrcovのページを見てみると、 NOTE: This fork does not work on Ruby 1.9.x. For coverage on Ruby 1.9 look at SimpleCov. Even if you get results on 1.9 they will probably be inaccurate. Ruby 1.9 has call detection built in for faster, more accurate results. なんて書いてあります。という訳でSimpleCovを試してみました。 なおこちらで簡単にセットアップできるシェルスクリプト置いてます!
Matz" believes in changing the world with a keyboard. Although he has written software used world-wide, he feels it is more important to be a good father and a good Christian. Explore the importance of families at https://bit.ly/3ihvpgu Follow us on social media: Facebook: https://www.facebook.com/ComeUntoChrist Instagram: https://www.instagram.com/ComeUntoChrist Twitter: https://twitter.com/C
- Q1 - Rubyのメソッド調べるのにいつも「るりま」開くんだけど、なんかいつもどこから辿って行ったらいいか迷うんだよね、オレ。階層が深いってか、全体構造が見えないってか。なんかこうもっとサクッと目的のメソッドに到達したいんだよ。 - A1 - コマンドラインツールなら標準添付の「ri」とか、日本語対応の「ReFe」とかを使って下さい。Webツールなら「るりまサーチ」があります。 - Q2 - いやいや。あんたらみたいにメソッド名がちゃんと頭に入ってんなら苦労しないっすよ。どっちかっていうと、「文字列の前に文字列追加するやつなかったけ?」とか「2つの配列をインデックスの組の配列に組み替えるやつ、何て言ったっけ?」みたいな。こないだなんか、エラーの「rise」に結局たどり着けずじまい。オレが求めてるのはもっとオレ向け、要は素人向けのやつってことですよ。 - A2 - 「Ruby Refe
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く