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

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

  関連記事

詳解 Objective-C 2.0 第3版

Rubyの言語仕様を勉強する傍ら、Objective-Cも言語仕様ベースで勉強し …

no image
Vaio Pよりも軽く感じる?MacBookAirとお出かけ

Vaoi Pを手放し、iPadも手放し、UQ Wimaxは解約し、DellのWi …

no image
railsのエラーメッセージを日本語化

message:で渡すエラーメッセージや、その他いろんな箇所を日本語化します。 …

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

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

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

6.3.3ユーザー認証、です。 新規ユーザー登録のときは入力で、:passwor …

吉瀬美智子さんが美しすぎて、新サイト作りました

以前からやりたいと思っていたのですが、吉瀬美智子さんが美しすぎてやる気がでました …

no image
gamilアカウントが乗っ取られました

朝起きてすぐ行うメール確認。iphoneでgmail接続できないってエラーが出る …

初めてのRuby8章 8.4特異メソッドと特異クラス

特異メソッドと特異クラス プログラムなんて、クラスの継承だけで書けてしまうのが良 …

初めてのRuby2章 2.2ハッシュ

ハッシュ ハッシュとは、オブジェクトにキーを対応させたもの。 C++,Javaで …

no image
もう一度、Future Vision

2019年の世界。あと7年。 登場人物に日本人がいない事にも注目してほしい。 関 …