Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
エンジニア勉強会 エスキュービズム
730 views
Rubyのクラスとメソッド_エスキュービズム勉強会0530
5月30日に開催されたエスキュービズム社内勉強会での資料になります。
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 24
2
/ 24
3
/ 24
4
/ 24
5
/ 24
6
/ 24
7
/ 24
8
/ 24
9
/ 24
10
/ 24
11
/ 24
12
/ 24
13
/ 24
14
/ 24
15
/ 24
16
/ 24
17
/ 24
18
/ 24
19
/ 24
20
/ 24
21
/ 24
22
/ 24
23
/ 24
24
/ 24
More Related Content
PPTX
第23回目
by
XMLProJ2014
PPTX
Javascript3
by
Kiminari Homma
PDF
サーバサイドNodeの使い道
by
pospome
PDF
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
by
Yuhei Miyazato
PDF
Node.js基礎の基礎 - Miyazaki.js vol.2
by
Nobuhiro Nakashima
PDF
WebSocketのキホン
by
You_Kinjoh
PDF
Node.js を選ぶとき 選ばないとき
by
Ryunosuke SATO
PDF
Rubyメソッド探索
by
Masayuki Nishida
第23回目
by
XMLProJ2014
Javascript3
by
Kiminari Homma
サーバサイドNodeの使い道
by
pospome
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
by
Yuhei Miyazato
Node.js基礎の基礎 - Miyazaki.js vol.2
by
Nobuhiro Nakashima
WebSocketのキホン
by
You_Kinjoh
Node.js を選ぶとき 選ばないとき
by
Ryunosuke SATO
Rubyメソッド探索
by
Masayuki Nishida
Similar to Rubyのクラスとメソッド_エスキュービズム勉強会0530
PDF
Ruby 同好会宣言
by
Yuya Takeyama
ODP
Rubyのコードを読んでみよう(オブジェクト編)
by
baban ba-n
PDF
名古屋Ruby会議02 LT:Ruby中級への道
by
Shigeru UCHIYAMA
PDF
PHPer のための Ruby 教室
by
higaki
PPT
Start!! Ruby
by
mitim
PPTX
Ruby講座第二回
by
mitsunaga
PDF
現実世界のJRuby
by
Hiroshi Nakamura
PDF
現実世界のJRuby(ショートバージョン)
by
Hiroshi Nakamura
PDF
Meta programing ruby monday
by
Yuisho Takafuji
PDF
Ruby初級者向けレッスン 54回 ─── クラス
by
higaki
PPTX
第3回輪講
by
mh_amako
PDF
マニアックなRuby 2.7新機能紹介
by
mametter
PDF
Ruby 2.5
by
Masahiro Tomita
PPT
第1部「一時間で覚えるruby」
by
Hiromu Shioya
PDF
Ruby 初級者向けレッスン 49回───クラス
by
higaki
PDF
20110820 metaprogramming
by
Masanori Kado
PDF
Ruby でつくる型付き Ruby
by
mametter
PDF
RubyとActive Support for expert 2
by
xibbar
PPTX
そんな装備で大丈夫か?
by
2celeb
PDF
わたしのRubyの楽しみかた
by
Yuusaku Iwamoto
Ruby 同好会宣言
by
Yuya Takeyama
Rubyのコードを読んでみよう(オブジェクト編)
by
baban ba-n
名古屋Ruby会議02 LT:Ruby中級への道
by
Shigeru UCHIYAMA
PHPer のための Ruby 教室
by
higaki
Start!! Ruby
by
mitim
Ruby講座第二回
by
mitsunaga
現実世界のJRuby
by
Hiroshi Nakamura
現実世界のJRuby(ショートバージョン)
by
Hiroshi Nakamura
Meta programing ruby monday
by
Yuisho Takafuji
Ruby初級者向けレッスン 54回 ─── クラス
by
higaki
第3回輪講
by
mh_amako
マニアックなRuby 2.7新機能紹介
by
mametter
Ruby 2.5
by
Masahiro Tomita
第1部「一時間で覚えるruby」
by
Hiromu Shioya
Ruby 初級者向けレッスン 49回───クラス
by
higaki
20110820 metaprogramming
by
Masanori Kado
Ruby でつくる型付き Ruby
by
mametter
RubyとActive Support for expert 2
by
xibbar
そんな装備で大丈夫か?
by
2celeb
わたしのRubyの楽しみかた
by
Yuusaku Iwamoto
More from エンジニア勉強会 エスキュービズム
PDF
エスキュービズム新技術発表資料
by
エンジニア勉強会 エスキュービズム
PDF
小売りにおけるAIの可能性
by
エンジニア勉強会 エスキュービズム
PDF
React Redux Redux-Saga + サーバサイドレンダリング
by
エンジニア勉強会 エスキュービズム
PDF
Azure container service上でコンテナベースでオートスケールの検証をしてみた
by
エンジニア勉強会 エスキュービズム
PDF
はじめての品質
by
エンジニア勉強会 エスキュービズム
PDF
Go言語によるWebアプリケーション開発
by
エンジニア勉強会 エスキュービズム
PDF
機械学習ライブラリ : TensorFlow
by
エンジニア勉強会 エスキュービズム
PDF
Developer Summit 2016 参加してきました。
by
エンジニア勉強会 エスキュービズム
PPTX
ほんのりTDD
by
エンジニア勉強会 エスキュービズム
PDF
IoTで何をやったか
by
エンジニア勉強会 エスキュービズム
PDF
2016 新人研修 基本技術講座 (1)
by
エンジニア勉強会 エスキュービズム
PDF
Dockerを用いたマイクロサービスについて
by
エンジニア勉強会 エスキュービズム
PDF
VRのコンテンツ
by
エンジニア勉強会 エスキュービズム
PDF
Azureで動いている機械学習のいろいろについて
by
エンジニア勉強会 エスキュービズム
PDF
レイアウトについて
by
エンジニア勉強会 エスキュービズム
PDF
アルゴリズムとデータ構造(初歩)
by
エンジニア勉強会 エスキュービズム
PDF
何故エンジニアはテストをしないのか
by
エンジニア勉強会 エスキュービズム
PDF
IoTのIを考えてみる話
by
エンジニア勉強会 エスキュービズム
PDF
AzureのIaaSとかの話
by
エンジニア勉強会 エスキュービズム
PDF
【エンジニア勉強会】品質ってなんなのさ
by
エンジニア勉強会 エスキュービズム
エスキュービズム新技術発表資料
by
エンジニア勉強会 エスキュービズム
小売りにおけるAIの可能性
by
エンジニア勉強会 エスキュービズム
React Redux Redux-Saga + サーバサイドレンダリング
by
エンジニア勉強会 エスキュービズム
Azure container service上でコンテナベースでオートスケールの検証をしてみた
by
エンジニア勉強会 エスキュービズム
はじめての品質
by
エンジニア勉強会 エスキュービズム
Go言語によるWebアプリケーション開発
by
エンジニア勉強会 エスキュービズム
機械学習ライブラリ : TensorFlow
by
エンジニア勉強会 エスキュービズム
Developer Summit 2016 参加してきました。
by
エンジニア勉強会 エスキュービズム
ほんのりTDD
by
エンジニア勉強会 エスキュービズム
IoTで何をやったか
by
エンジニア勉強会 エスキュービズム
2016 新人研修 基本技術講座 (1)
by
エンジニア勉強会 エスキュービズム
Dockerを用いたマイクロサービスについて
by
エンジニア勉強会 エスキュービズム
VRのコンテンツ
by
エンジニア勉強会 エスキュービズム
Azureで動いている機械学習のいろいろについて
by
エンジニア勉強会 エスキュービズム
レイアウトについて
by
エンジニア勉強会 エスキュービズム
アルゴリズムとデータ構造(初歩)
by
エンジニア勉強会 エスキュービズム
何故エンジニアはテストをしないのか
by
エンジニア勉強会 エスキュービズム
IoTのIを考えてみる話
by
エンジニア勉強会 エスキュービズム
AzureのIaaSとかの話
by
エンジニア勉強会 エスキュービズム
【エンジニア勉強会】品質ってなんなのさ
by
エンジニア勉強会 エスキュービズム
Rubyのクラスとメソッド_エスキュービズム勉強会0530
1.
Rubyのクラスとメソッド
2.
目次 クラス定義 メソッド探索 Mix-in 特異クラス クラスメソッド
3.
クラス定義
4.
Rubyのオブジェクト指向 Rubyはオブジェクト指向型言語 クラス、継承、モジュール等を使用出来る Rubyは全てがオブジェクトで出来ている 例:クラス = Classクラスのオブジェクト
5.
Classもオブジェクト クラスもオブジェクトなので、変数へ格納出来る class Foo end a =
Foo # Fooクラスを変数へ格納 a.new(1) # Foo.newと同じように使用出来る
6.
依存クラスの参照 インスタンスから生成元のクラスオブジェクトを参 照出来る クラスオブジェクトから親クラスを参照出来る class Foo end foo1 =
Foo.new() # Fooのインスタンスを作成 foo2 = foo1.class.new() # foo1.classからインスタンスを作成 puts foo1.class == foo2.class #=> true class FooExt < Foo end puts FooExt.superclass == Foo #=> true
7.
メソッド探索
8.
メソッド Rubyのメソッドは大きく2つ インスタンスメソッド クラスメソッド
9.
インスタンスメソッド インスタンスをレシーバとするメソッド instance_methodsメソッドから一覧を取得可能 スーパークラスで定義されたインスタンスメソッド も使用可能
10.
Rubyの継承チェーン ancestorsメソッドから継承チェーンを確認出来る BasicObjectクラスは全てのクラスのスーパークラス ほとんどのクラスはObjectクラス、Kernelモジュー ルを継承 String Comparable Object
Kernel BasicObject Integer Numeric Comparable Object Kenerl BasicObject Objectクラス・Kernelモジュール・Basic Objectクラスの メソッドは、ほとんどのクラスで使用可能。
11.
メソッド探索 インスタンスは、呼び出されたメソッドが見つかるまで、 継承元クラスのインスタンスメソッドを探す。 最終的に見つからない場合、 BasicObject#method_missingメソッドを呼び出す。 Foo Object Kernel BasicObjec t Foo インスタンス
12.
Mix-InMix-InMix-InMix-In
13.
Mix-in クラスにモジュールをincludeする事 Rubyの継承は単一継承のみ許されている 複数の機能を継承したい時にMix-inを使用する。
14.
モジュール 定義はクラスコードとほぼ同じで、class文の代わり にmodule文を使う クラスとの相違点 単独ではインスタンス化できない クラスや他のモジュールにincludeできる 複数のクラスで適用したい機能をモジュールで定義 する
15.
モジュールの継承チェーン モジュールをincludeした場合、オブジェクトの継承 チェーンに無名クラスとして追加される。 この無名クラスはsuperclassメソッドからは参照出 来ない。 FooExt Bar Foo class
Foo end module Bar end class FooExt < Foo include Bar end puts FooExt.superclass #=> Foo FooExt.superclass
16.
特異クラス
17.
特異クラス 特定のインスタンスからのみ参照される特別なクラ ス foo1 = Foo.new def
foo1.hoge # fooの特異クラスにhogeメソッドを定義 puts “hoge” end foo2 = Foo.new foo1.hoge #=> “hoge” foo2.hoge #=> NoMethodError
18.
特異クラスの継承チェーン メソッドを定義した際、元のクラスを継承した特異 クラスが生成される。 インスタンスは特異クラスのインスタンスのように なる。 classメソッドからは特異クラスは参照出来ず、元の クラスが返される。 #foo1 Foo foo2foo1
19.
再オープン 再オープン式 foo1 = Foo.new class
<< foo1 # foo1を再オープン def hoge end end 再オープン式を使って特異クラスを定義する事も出来る
20.
extendメソッド 再オープンを使用して特異クラスへモジュールを Mix-inする事が出来る。 特異クラスへのMix-inはよく使用する為、同じ動作をするextendメ ソッドが用意されている。 foo1 = Foo.new(1) class
<< foo1 include Bar end foo1 = Foo.new(1) foo1.extend(Bar)
21.
クラスメソッド
22.
Classクラス Ruby内でクラスを表すクラス クラスはClassクラスのインスタンス class Foo end Foo.class #=>
Class Foo = Class.new Foo.class #=> Class
23.
クラスメソッド クラスオブジェクトをレシーバとするメソッド クラスの特異クラスのメソッドとして定義 Foo = Class.new def
Foo.hoge end class Foo def self.hoge end end foo1 = Foo.new def foo1.hoge end class << foo1 def hoge end end クラスメソッドの定義例: 特異クラスの定義例:
24.
まとめ Rubyはメソッドチェーンが大事。 オブジェクトモデルの解釈は多くある 他の解説も読んでみると理解が増す 参考・出典:Ruby 公式資格教科書、
Download