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

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

  関連記事

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

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

no image
RailsTutorial4.0を高速で復習する。5.6章。演習2問目のつづき。

5.6章。演習2問目です。TDDにこだわり、あえてこの問題をするまで、ヘッダーや …

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

5.3レイアウトのリンク、です。 AboutはRailsらしくない、とおっしゃっ …

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

5章最後の演習、3問目です。 リスト5.38に示すように、元のヘルパーメソッドに …

パーフェクトRuby 2章Rubyの基礎 2-3 条件分岐と真偽値

p50 2-3 条件分岐と真偽値 falseとnil以外は全部true p51 …

iPadのiBooksで自炊とかしたPDFの電子書籍を読む

手順覚えないのでブログに書きます。 Bookscan使用して手持ちPDF電子書籍 …

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

7.6演習 1問目です。 リスト7.30のコードを使用して、7.1.4で定義され …

WindowsキーボードをMacで使う

キーボード難民です。Mac miniでApple純正のキーボードを使っていました …

詳解 Objective-C 2.0 第3版 CHAPTER2 Objective-Cのプログラム

Objective-Cの解説はメッセージから始まる。このメッセージという概念、も …

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

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