心はいつもAirPucci (空元気でもいいから)

毎日がPucciを着ているような気分

Rubyの<< には3つの用法あり。

      2014/01/19


先週の#yokohamarbペアプロ画面をみていて <<でヒアドキュメント書くんだーと学んだ翌日、同じ方にRailsGirlsでチューターをしていただき、<<を配列への要素追加で書くことを習いました。同じ記号なのに用法違いすぎる。 たのるーによると、<<の用法は3つ。

  • 特異メソッド
  • 文字リテラル
  • メソッド

どれがどれやねん。

特異メソッド

クラス定義のときに使う。って書いてあるけど、<<使うと怒られる。<でいいと。 [code] class Aisatsu < Object def konichiwa puts "Hello,World" end end a = Aisatsu.new a.konichiwa [/code] [code] class Aisatsu class << self def konichiwa puts "Hello,World" end end end Aisatsu.konichiwa [/code] こっちはうまくいった。

文字リテラル

これがヒアドキュメントを作る場合。
長い文章を作るとき、

<< "文章終了の記号を勝ってに決めてここにかく" ながーい文章をここに好き勝手に書く さっき書いた終了の記号 [code] << "EndOfString" dfsjdfoiufjszfmnzjndsofsjiovjncvxmcdijds EndOfString [/code]

メソッド

メソッドも、Array,Date,Integer,IO,Stringの5つで使えるらしい。配列の要素追加はArrayメソッドですね。

arr = ["dog", "cat"]
arr << "banbi" 
p arr #=> ["dog", "cat", "banbi"]

配列の最後に要素が追加される。pushで書いても同じ。

arr = ["dog", "cat"]
arr.push "banbi" 
p arr #=> ["dog", "cat", "banbi"]

ちなみに>>で配列の前に追加できなかった。。前に追加するにはunshiftを使う。

arr = ["dog", "cat"]
arr.unshift "zonbi" 
p arr #=> ["zonbi","dog", "cat"]
【送料無料】初めてのRuby [ Yugui ]

【送料無料】初めてのRuby [ Yugui ]
価格:2,310円(税込、送料込)

【送料無料】たのしいRuby第4版 [ 高橋征義 ]

【送料無料】たのしいRuby第4版 [ 高橋征義 ]
価格:2,730円(税込、送料込)

 - テクニカル

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

no image
editとupdate

ruby on rails3プリケーションプログラミングの本の内容をruby2. …

確定申告終わったぁ〜MoneyForwardのおかげです

確定申告終わりました。青色で申請しているので決算書必要なのですが、昨年から使い始 …

no image
future vision 2019 vs 2010

マイクロソフトのfuture visonが話題らしい。 2019年の近未来。 情 …

no image
RailsTutorial4.0を高速で復習する。7.2章

7.2ユーザー登録フォーム、です。 ユーザー認証も登録も、モデルは作ってあるので …

no image
RailsTutorial4.0を高速で復習する。10.1.4章。

10.1.4マイクロポストを改良する、です。 has_many関連付けしたので、 …

no image
RailsとRubyのインストール済みバージョン確認し、Rails3.2+Ruby1.9に戻してみる。

Rails3.2で作る必要があったので、Rails4はいったんおいといてRail …

ブログをアプリを使ってiPhoneから更新

この前の投稿と、前の前の投稿はiphoneから行いました。ノートPCだとブログ投 …

no image
createとnew

ruby on rails3プリケーションプログラミングの本の内容をruby2. …

パーフェクトRuby 2章Rubyの基礎 2-5-5 クラスメソッド

p54 2-5-5 クラスメソッド インスタンスメソッドに対して、クラスに対して …

no image
iPhone充電3回分?大容量バッテリーで残念がなくなりました

iPhoneは便利なので、一日中使いっ放しの日がよくあります。iPhoneがあれ …