かずおの開発ブログ(主にRuby)

日々の開発のことを色々書きます。

Ruby

オブジェクト生成時にインスタンス変数の初期値を設定する

オブジェクト生成時にインスタンス変数の初期値を設定する Railsのmodelではmodel生成時に user = User.new(name: "tarou", address: "東京都港区", phone: "08099999999"...) このような形で初期値を設定することが出来ます。 でこれに慣れてるとRubyでこの…

Rubyのメソッドについてあらためてしっかり理解する

今回はメソッドについてです。 Rubyに限らずほぼ全ての言語には パブリックな インスタンスメッド クラスメソッド プライベートな インスタンスメッド クラスメソッド を定義可能です。 今回はこれらについて詳しく見ていきます。 パブリックと プライベート…

== と ===の違いについて

今回はRubyにおける==と===の違いについて調べました。 ===メソッドはwhen case文の中で内部的に使われているので、違いをわかっていないと思わぬところではまります。 先に結論から言っておくと ===メソッドが拡張されていないクラス ==と同じ ===メソッド…

配列、ハッシュを半分に分ける

Rubyを書いていて配列やハッシュを綺麗に半分に分けたいなってときありますよね?少なくともぼくはあったし、今この記事を見ているあなたもそう思ってるのかもしれません。 イメージとしてはこんな感じです。 [1, 2, 3, 4] => [[1, 2], [3, 4]] ["Yamada" =>…

Rubyチートシート

たまに使おうと思うと忘れていて毎回リファレンスを見る→理解する→書くが面倒なので、自分が一瞬で思い出せるようにメモ。 文字列処理 特定の文字列を切り出したい slice : 何文字目から何文字分切り出すって時に使う。戻り値は切り取られた値。[]と同義。 s…

VCRを使って開発中にあほみたいにリクエストを飛ばさないようにする

RubyでWebサイトからスクレイピングしまくってデータを取得しまるくるようなプログラムを書いていると開発のテスト中にリクエストをあほみたいに飛ばしてしまうときがあります。 そうするとそのサーバーに迷惑がかかってしまいますし、あんまりいい気持ちの…

Mechanizeを使ってページ遷移

Mechanizeを使って簡単なページ遷移を書きました。 googleのトップページから リンクをクリック フォームに値を入力してサブミット を実行したものです。 scraper.rb main.rb あとは $ ruby main.rb で実行されてコンソールに色々表示されるはずです。 ほと…