心はいつも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

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

  関連記事

40秒も待てない。

自由が丘のカフェでこれ書きました。Table Modern Service、食べ …

RailsTutorial4.0を高速で復習する。5.1.2章。

5.1.2BootstrapとカスタムCSS、です。 今までdivについていたイ …

no image
destory

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

もうあかん!Mac OSXのスクロールを逆にする

OSXのいつのバージョンからだっけ? スクロールの向きが突如逆になったんですよね …

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

3.2章は最初のテストです。 Railsチュートリアルは、アプリケーションの振る …

no image
Rubyの%を使う記法のうち、 %w

Rubyで%を使う記法は、たのるー(たのしいRuby)によると、以下の6通り % …

Rubyの聖地、松江でRailsGirls Matsueに参加しました

旧暦神在月にRubyイベントに参加したい!と思ったところ、狙ったようにRubyW …

no image
editとupdate

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

no image
Google Appsで問い合わせフォームを作りました

とっても簡単でした。Google Appsでこのブログに問い合わせフォームを設置 …

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

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