読者です 読者をやめる 読者になる 読者になる

一から勉強させてください( ̄ω ̄;)

最下級エンジニアが日々の学びをアウトプットしていくだけのブログです。

Ruby

RubyでネストしたHashをflatな1次元のHashに変換する

{ :foo => "bar", :hello => { :world => "Hello World", :bro => "What's up dude?", }, :a => { :b => { :c => "d" } } } みたいなネストしたHashがあったとして、これを { :foo => "bar", :"hello.world" => "Hello World", :"hello.bro" => "What's up d…

Rubyでクロージャを書いてみる

以前、クロージャについてという記事を書きました。 このときはJavaScriptでクロージャってどうやって書くの的な話だったのですが、今回はRubyでどうやって書くの的なことを書きたいと思います。 Procを使う RubyにはProcオブジェクトがあるので、こいつを利…

procとlambdaの挙動の違い

RubyのProcオブジェクトはKernel#proc(またはProc#new)で作るパターンとKernel#lambdaで作るパターンがありますが、それらは地味に結構挙動が違っていたりします。 そこで今回はこのKernel#procとKernel#lambda でつくった時のProcオブジェクトの挙動の違…

Rubyのcase文はwhen節に渡すオブジェクトによって振る舞いが異なる

今回はRubyのcase文についてです。 Rubyのcase文はどのように値を比較するか Rubyのcase文ではcase節に比較対象となる値を、when節にcase節の値と比較する値を記述します。 んで、when節の値をレシーバとして、===メソッドによって比較が行われ、最初に真と…

Rubyのメソッド探索についてまとめてみた

今回はパーフェクトRubyで「Rubyのメソッド探索」について学んだのでそのメモです。 オブジェクトに対してメソッド呼び出しが行われる際、どのようにメソッドが呼び出されているのか、書いてみたいと思います。 自身のメソッドを呼び出した時 class BaseClas…

Rubyのインスタンス変数、クラス変数、クラスインスタンス変数

Rubyのクラスには インスタンス変数 クラス変数 クラスインスタンス変数 があって何かとややこしい。。 特にクラス変数とクラスインスタンス変数の違いについてはいまいち理解しきれていなかったので、今回は頭の整理もかねてメモです。 それぞれの特徴につ…

bundle openでgemのディレクトリを手軽にエディタから確認できる

gemのソースって今まで基本Githubから確認していたのですが、実はエディタから手軽に確認できる方法がありました。地味に知らなかったです… こちらの記事を参考にさせていただきました。 エディタの設定 環境変数EDITORにあらかじめどのエディタを開くのか設…

Rubyのビット演算子、論理演算子について

Rubyの論理演算子、ビット演算子についてメモ。 論理演算子 一番よく使うやつ。 Rubyの論理積、論理和ってtrue、falseじゃなくてオペランドのどちらかを返す。短絡評価。(片方を評価して結果がわかったら、もう片方を評価せずに結果を返す) 論理積はどちら…

backbone-on-railsを使ってTodosを作り直してみた

あけましておめでとうございます。 新年一発目はbackbone.jsのサンプルとして有名なTodosをサーバーサイドにRailsをつかって作り直してみたいと思います! 以前、backbone.jsのサンプルTodosの動作を追ってみたという記事でも動作を簡単に見たのですが、この…

RubyとSQLiteを使って、郵便番号検索アプリをつくってみた

今回はRubyとSQLiteを使って、郵便番号から住所を検索できるアプリケーションを作ってみました。 ソースはすべてここに置いてあります。 https://github.com/danimal141/search_zipcode やりたいことは非常にシンプルで「郵便番号から該当する住所を検索する…

Ruby2.0.0をインストールしてみた

今日は今、絶賛勉強中のRubyの最新版をインストールしたときの手順について備忘録的に書いていきたいと思います。まず前提として、僕はMacをつかっているのでRubyはすでに入っている状態です。 ためしにターミナルでバージョンを調べてみると、 ruby -v //1.…