Your SlideShare is downloading. ×
0
2011年12月16日      担当:井尻
 オブジェクトって何?  データ メソッド 自分の中にあるデータを操作するための様々な機能を持っている箱
 文字列オブジェクト     文字を文字列から取り出すメソッド     文字の個数を数えるメソッド     大文字を小文字に変えるメソッド
 メソッドに仕事をさせることができるのは そのメソッドを持っているオブジェクトだけ              レシーバー
レシーバー        .      メッセージ“HELLO”      .      downcase          “hello”
“HELLO”      .      downcase       .    gsub(“llo”,”roku”)          “hello”      .   gsub(“llo”,”roku”)                   ...
 トップレベルオブジェクトへ      トップレベルオブジェクト           exit          system            ・            ・            ・
 レシーバーとは無関係な動作をするexit:irbを終了させるsystem:引数として文字列を受け取り、シェルのコマンドとして実行する                 system(“date /t”)                    ...
 オブジェクトを生成する   鋳型             オブジェクト  Fixnum        整数のオブジェクト  String        文字列のオブジェクト
 何らかのクラスから生成されたもの     Stringクラスから生成されたオブジェクト     Stringクラスから生成されたインスタンス
 classメソッド     100.class      Fixnum    “hello”.class   String
Fixnum.class   ClassClass.class    Class
A                   スーパークラス                                          サブクラス           B1        B2        B3               ...
ObjectNumeric            StringIntegerFixnum
Fixnum.superclass           IntegerObjectクラスにはスーパークラスが存在しない
def    メソッド名          式 endメソッド名:先頭の文字は、英字の小文字でなければいけない
def foo “foon”.displayend     トップレベルオブジェクトの中にメソッドが作られる             レシーバーを省略できる             fooでメソッドを呼び出す
foo.rbdef foo “foon”.displayend                   load(“foo.rb”)         トップレベルオブジェクトの中にメソッドが作られる               fooでメソッドを呼...
 クラスを定義しましょう。
class   クラス名          式            メソッドend        新しいメソッドの鋳型をクラスに追加する                =      クラスのインスタンスに新しいメソッドを追加する
hoo.rbclass String def hoo   “hellon”.display endend                       load(“hoo.rb”)hooメソッドを作るための鋳型がStringクラスのインスタンスの...
sample.rbclass String def twice   display   display   “n”.display endend                               “ijiri”.twice     レ...
   【問題】   以下のコードの実行結果から__(1)__に当てはまるものを選択してくださ    い。   [コード]   class Foo    def foo     puts "foo"    end   end ...
   【問題】   以下のコードの実行結果から__(1)__に当てはまるものを選択    してください。   [コード]   class Foo     def __(1)__      puts "foo"    end   ...
   【問題】   以下のコードの実行結果から__(1)__に当てはまるものを選択してくださ    い。   [コード]   class Foo    def foo     __(1)__.bar    end    def ...
   【問題】   以下のコードの実行結果から__(1)__に当てはまるものを選択してください。   [コード]   class Hello    def greet      "Hello "    end   end   ...
第3回セントラルソフトRuby研究会
Upcoming SlideShare
Loading in...5
×

第3回セントラルソフトRuby研究会

593

Published on

セントラルソフト若手による社内勉強会の資料です。

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
593
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "第3回セントラルソフトRuby研究会"

  1. 1. 2011年12月16日 担当:井尻
  2. 2.  オブジェクトって何? データ メソッド 自分の中にあるデータを操作するための様々な機能を持っている箱
  3. 3.  文字列オブジェクト 文字を文字列から取り出すメソッド 文字の個数を数えるメソッド 大文字を小文字に変えるメソッド
  4. 4.  メソッドに仕事をさせることができるのは そのメソッドを持っているオブジェクトだけ レシーバー
  5. 5. レシーバー . メッセージ“HELLO” . downcase “hello”
  6. 6. “HELLO” . downcase . gsub(“llo”,”roku”) “hello” . gsub(“llo”,”roku”) “heroku”
  7. 7.  トップレベルオブジェクトへ トップレベルオブジェクト exit system ・ ・ ・
  8. 8.  レシーバーとは無関係な動作をするexit:irbを終了させるsystem:引数として文字列を受け取り、シェルのコマンドとして実行する system(“date /t”) 今日の日付を出力する true or false
  9. 9.  オブジェクトを生成する 鋳型 オブジェクト Fixnum 整数のオブジェクト String 文字列のオブジェクト
  10. 10.  何らかのクラスから生成されたもの Stringクラスから生成されたオブジェクト Stringクラスから生成されたインスタンス
  11. 11.  classメソッド 100.class Fixnum “hello”.class String
  12. 12. Fixnum.class ClassClass.class Class
  13. 13. A スーパークラス サブクラス B1 B2 B3 スーパークラスC1 C2 C3 C4 C5 C6 サブクラス特徴化
  14. 14. ObjectNumeric StringIntegerFixnum
  15. 15. Fixnum.superclass IntegerObjectクラスにはスーパークラスが存在しない
  16. 16. def メソッド名 式 endメソッド名:先頭の文字は、英字の小文字でなければいけない
  17. 17. def foo “foon”.displayend トップレベルオブジェクトの中にメソッドが作られる レシーバーを省略できる fooでメソッドを呼び出す
  18. 18. foo.rbdef foo “foon”.displayend load(“foo.rb”) トップレベルオブジェクトの中にメソッドが作られる fooでメソッドを呼び出す
  19. 19.  クラスを定義しましょう。
  20. 20. class クラス名 式 メソッドend 新しいメソッドの鋳型をクラスに追加する = クラスのインスタンスに新しいメソッドを追加する
  21. 21. hoo.rbclass String def hoo “hellon”.display endend load(“hoo.rb”)hooメソッドを作るための鋳型がStringクラスのインスタンスの中に作られる “aaaaaaa”.hoo
  22. 22. sample.rbclass String def twice display display “n”.display endend “ijiri”.twice レシーバー省略 レシーバー自身(“Ijiri”)にメッセージ(display)を送る 実行中のメソッドを含んでいるオブジェクト 自分と同じオブジェクトの中にある別のメソッドを呼び出す
  23. 23.  【問題】 以下のコードの実行結果から__(1)__に当てはまるものを選択してくださ い。 [コード] class Foo def foo puts "foo" end end __(1)__ [実行結果] foo 1. Foo.new.foo 2. Foo.foo 3. foo 4. self.foo
  24. 24.  【問題】 以下のコードの実行結果から__(1)__に当てはまるものを選択 してください。 [コード] class Foo def __(1)__ puts "foo" end end Foo.foo 1. class.foo 2. this.foo 3. Foo.foo 4. foo
  25. 25.  【問題】 以下のコードの実行結果から__(1)__に当てはまるものを選択してくださ い。 [コード] class Foo def foo __(1)__.bar end def bar puts "bar" end end Foo.new.foo [実行結果] bar 1. Foo 2. it 3. self 4. this
  26. 26.  【問題】 以下のコードの実行結果から__(1)__に当てはまるものを選択してください。 [コード] class Hello def greet "Hello " end end class World < Hello def greet __(1)__ + "World" end end puts World.new.greet [実行結果] Hello World 1. self 2. super 3. greet 4. override
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×