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

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

パーフェクトRuby 2章Rubyの基礎 2-1 Hello,Ruby

   


12章から5章まではPart2 Ruby言語仕様 です。
2章 Rubyの基礎

メソッドは、
def
メソッド名(引数)
 処理
end
形式で書く。

def hello(names)
  names.each do |name|
    puts "Hello, #{name.upcase}"
  end
end

jojos = ["Jonathan", "Joseph", "Jotaro", "Jorin"]

hello(jojos)

#=>
Hello, JONATHAN
Hello, JOSEPH
Hello, JOTARO
Hello, JORIN

これ、クラスじゃなくて手続き型で書いていますね。どっちもできるのがRuby。

nameのところはnamesの配列が最初から一つづつeachで渡されるんですが、nameじゃなくて適当な変数名でいい。けど、入力の配列名を複数形にして、eachで回す変数をその単数系にするっていうのがお約束っぽい。

p44
レシーバ.メソッド名。
names.eachではnamesがレシーバでeachがメソッド名。

変数namesをレシーバとしてeachメソッドを呼び出している。

p each.classってやるとエラーになった。だからeachはメソッドだってば。ではどのクラスに属するメソッド?
=>後で調べるため自分のisuueに書いた。

p45
2-1-3 トップレベル

手続き型でいきなりdefって書いて実行できるのがきもちわるいなーと思ったのですが(だって作業領域をいつ確保してるのさ?って思いました)理由が書いてありました。

hello(jojos)とレシーバ無しで読み出していますが、これは”クラス”や”モジュール”以外であって(まあ、そうです)、”トップレベル”という。

トップレベルで定義されたメソッドは、グローバルなサブルーチンのように使用することができ、以下のような特徴を持っています。
・メソッド呼び出しの際、レシーバを記述しない
・いわゆる関数のように、どこからでもグローバルに呼び出す事ができる

2-1-4 メソッド定義と戻り値

Rubyでは最後に評価された値が戻り値になる。returnを書く必要はない。

p46
逆にreturnを書くとそれが戻り値になり、最後に評価された値は戻らない。

def rvalue(a, b)
return a + b
puts “計算しました”
end

rvalue(1,100) #=>101

これは、return後が実行されないのか、わからないな。

次、2-1 変数と定数

 - テクニカル ,

Message

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

  関連記事

Railsを立ち上げる

RubyのアップデートとRailsのインストールが無事終わったので、いよいよRa …

no image
ToDoの管理方法

東大生はノートがきれいだとか、、 きれいに書いている暇があったら、頭に書いて覚え …

格安で真央ごもりする浅田真央システム完成

さいたまスーパーアリーナでの世界選手権で、浅田真央ちゃんのショートプログラム世界 …

教育のためならば、iPadアプリ料金なんて青天井ですわ

今年4月、USでのiPad発売。姪の中学入学祝いにちょうどいいなと思っていたら日 …

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

巷にRails4本がなく、Rails3本をRails4でやってみようとしたところ …

Chromeでの文字化けを対処しました。

WordPressで自作テンプレを作ってみたのはよいものの、困った問題が2つ。 …

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

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

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

11.1.4フォローしているユーザー 、です。 followed_usersとf …

RailsGirls松江からのぉ〜東京More!*既に2回目

RailsGirls東京3回目に申し込みそびれた流れから松江に参加し、チューター …

使ったらダメなiPhoneケーブル

iPhoneのApple純正ケーブルって、はげやすくないですか?iPhone5用 …