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
Shun Hikita
PDF, PPTX
1,297 views
Rubyをちょっと理解しよう
社内勉強会 UniStudy #1 の発表資料です。 Rubyについてちょっと話ました。
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
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
Walking front end
by
Hirata Tomoko
PPTX
エンジニアが Webを学ぶために やっててよかったこと
by
Hirata Tomoko
PPTX
Rails5クイックスタート
by
Hirata Tomoko
PPTX
無名関数のすすめ
by
Shoichi Kakizaki
PDF
Railsの現場に入る前のお話(勉強法)
by
Fumiya Sakai
PDF
mBaaSの基本的な扱い方の事始め(parse.comとNCMBの使い方比べ)
by
Fumiya Sakai
PPTX
WindowsユーザのためのRails環境構築
by
Hirata Tomoko
PPTX
Rails+Markdownでなにかつくる
by
Hirata Tomoko
Walking front end
by
Hirata Tomoko
エンジニアが Webを学ぶために やっててよかったこと
by
Hirata Tomoko
Rails5クイックスタート
by
Hirata Tomoko
無名関数のすすめ
by
Shoichi Kakizaki
Railsの現場に入る前のお話(勉強法)
by
Fumiya Sakai
mBaaSの基本的な扱い方の事始め(parse.comとNCMBの使い方比べ)
by
Fumiya Sakai
WindowsユーザのためのRails環境構築
by
Hirata Tomoko
Rails+Markdownでなにかつくる
by
Hirata Tomoko
What's hot
PDF
MobiRubyでiOSアプリをつくろう
by
Junya Murabe
PPTX
片手間JS on Rails
by
Ryunosuke SATO
PPTX
Electronからはじめるnodejs
by
Hirata Tomoko
PPTX
Railsのフロントエンド開発を考える
by
Hirata Tomoko
PDF
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
by
Shinichi Okada
PDF
Parse.comを使ってみた感想とまとめ
by
Fumiya Sakai
PDF
VimとRubyのアツい関係
by
Misao X
PDF
C#のやさしさを語る時間
by
kamukiriri
PDF
Sinatra軽量Web開発 - LOUPE Study #1
by
Takuya Mukohira
PDF
Container view活用術とポイントになる部分
by
Fumiya Sakai
PDF
Railsチュートリアル(second)を終えて
by
Hirata Tomoko
PPTX
コードに基づくモデルによる IntelliCode
by
m ishizaki
PDF
で、次は何がくるの? - 第2回 TIS Matsuri
by
Yoshitaka Kawashima
PDF
GopherJS + Nashorn
by
Takuya Ueda
PPTX
Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
by
宏治 高尾
PDF
Vue.js ハンズオン資料
by
よしだ あつし
PDF
非ガチ勢「よし、Coffee script使おう!」
by
Muyuu Fujita
PDF
TypeScript 入門してみる
by
Ken Fukuyama
PPTX
TypeScript + Express
by
kamiyam .
PDF
初めての公開Gem作り
by
Tomoe Sawai
MobiRubyでiOSアプリをつくろう
by
Junya Murabe
片手間JS on Rails
by
Ryunosuke SATO
Electronからはじめるnodejs
by
Hirata Tomoko
Railsのフロントエンド開発を考える
by
Hirata Tomoko
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
by
Shinichi Okada
Parse.comを使ってみた感想とまとめ
by
Fumiya Sakai
VimとRubyのアツい関係
by
Misao X
C#のやさしさを語る時間
by
kamukiriri
Sinatra軽量Web開発 - LOUPE Study #1
by
Takuya Mukohira
Container view活用術とポイントになる部分
by
Fumiya Sakai
Railsチュートリアル(second)を終えて
by
Hirata Tomoko
コードに基づくモデルによる IntelliCode
by
m ishizaki
で、次は何がくるの? - 第2回 TIS Matsuri
by
Yoshitaka Kawashima
GopherJS + Nashorn
by
Takuya Ueda
Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
by
宏治 高尾
Vue.js ハンズオン資料
by
よしだ あつし
非ガチ勢「よし、Coffee script使おう!」
by
Muyuu Fujita
TypeScript 入門してみる
by
Ken Fukuyama
TypeScript + Express
by
kamiyam .
初めての公開Gem作り
by
Tomoe Sawai
Viewers also liked
PDF
ニコニコ超エンジニアミーティング Rubyの歩き方
by
tatsuo sakurai
PDF
桐島、Rubyやめるってよ
by
Narihiro Nakamura
PDF
Rubyの仕事で食べていくために僕らは!
by
Ouka Yuka
PDF
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
by
Yusuke Kon
PPT
Start!! Ruby
by
mitim
PDF
Ruby で高速なプログラムを書く
by
mametter
ニコニコ超エンジニアミーティング Rubyの歩き方
by
tatsuo sakurai
桐島、Rubyやめるってよ
by
Narihiro Nakamura
Rubyの仕事で食べていくために僕らは!
by
Ouka Yuka
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
by
Yusuke Kon
Start!! Ruby
by
mitim
Ruby で高速なプログラムを書く
by
mametter
Similar to Rubyをちょっと理解しよう
ODP
Rubyのコードを読んでみよう(オブジェクト編)
by
baban ba-n
PDF
Meta programing ruby monday
by
Yuisho Takafuji
PPTX
Ruby講座第二回
by
mitsunaga
PDF
Ruby 同好会宣言
by
Yuya Takeyama
PDF
Ruby初級者向けレッスン KOF2015 出張版
by
higaki
PDF
Ruby introduction for_rails
by
Takashi Toyofuku
PDF
Ruby programmer silverの取得に向けて
by
善弘 植木
PPT
第1部「一時間で覚えるruby」
by
Hiromu Shioya
PDF
Ruby
by
Shintaro Abe
PDF
PHPer のための Ruby 教室
by
higaki
PDF
名古屋Ruby会議02 LT:Ruby中級への道
by
Shigeru UCHIYAMA
PDF
Ruby の文字列について
by
Tomoya Kawanishi
PPTX
プログラミング入門 Ruby超入門編
by
ナレッジコミュニケーション
PDF
Ruby でつくる型付き Ruby
by
mametter
KEY
Rails基礎講座 part.1
by
Jun Yokoyama
PDF
Ruby on Rails 入門
by
Yasuko Ohba
PDF
2011年10月28日
by
nukaemon
PPTX
スクリプトで文字コード変換
by
1000 VICKY
PDF
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
by
Kenta USAMI
PDF
Rubyのクラスとメソッド_エスキュービズム勉強会0530
by
エンジニア勉強会 エスキュービズム
Rubyのコードを読んでみよう(オブジェクト編)
by
baban ba-n
Meta programing ruby monday
by
Yuisho Takafuji
Ruby講座第二回
by
mitsunaga
Ruby 同好会宣言
by
Yuya Takeyama
Ruby初級者向けレッスン KOF2015 出張版
by
higaki
Ruby introduction for_rails
by
Takashi Toyofuku
Ruby programmer silverの取得に向けて
by
善弘 植木
第1部「一時間で覚えるruby」
by
Hiromu Shioya
Ruby
by
Shintaro Abe
PHPer のための Ruby 教室
by
higaki
名古屋Ruby会議02 LT:Ruby中級への道
by
Shigeru UCHIYAMA
Ruby の文字列について
by
Tomoya Kawanishi
プログラミング入門 Ruby超入門編
by
ナレッジコミュニケーション
Ruby でつくる型付き Ruby
by
mametter
Rails基礎講座 part.1
by
Jun Yokoyama
Ruby on Rails 入門
by
Yasuko Ohba
2011年10月28日
by
nukaemon
スクリプトで文字コード変換
by
1000 VICKY
人類の役に立たないDSL、そしていつからRubyが最高の言語だと錯覚してた? with PHP
by
Kenta USAMI
Rubyのクラスとメソッド_エスキュービズム勉強会0530
by
エンジニア勉強会 エスキュービズム
Rubyをちょっと理解しよう
1.
Rubyをちょっと理解しよう UniStudy#1 @ シェアハウスコクリエ Unicast
Inc. Web Engineer 疋田 駿
2.
発表するひと http://qiita.com/shunhikita https://twitter.com/shunhikita 株式会社ユニキャスト セールスエンジニア ▷ 2015年入社の田舎暮らし新卒文系Webエンジニア(23 歳・経営学部卒) ▷ Ruby,
Ruby on Rails, PHP, AngularJS, C#, Android ▷ Microservicesなサービス作り希望
3.
話すこと ▷ オープンクラスとモンキーパッチ ▷ メソッドを呼び出すと何が起きる? ▷
Rubyにおけるselfキーワード ※私もRuby勉強中です。
4.
オープンクラス - リファクタリングをする場面 - def
to_alphanumeric(s) s.gsub(/[^ws]/, ‘’) end 全ての句読点や特殊文字を削除してアルファベットとス ペースを残すようなもの なんかオブエジェクト指向っぽくないですね。 sのオブジェクトがgsubメソッド持ってなかったら … NoMethodError !!
5.
“ 外部メソッドに文字列オブジェクトを渡して 変換してもらうんじゃなくて、文字列自身に 変換してもらったほうがいいんじゃない?
6.
“ でも、文字列って標準のStringクラスだし AlphanumericStringみたいなクラスを作るの? オープンクラスを使おう!
7.
オープンクラス - リファクタリングをする場面 - class
String def to_alphanumeric gsub(/[^ws]/, ‘’) end end Stringクラスをオープン してメソッドを追加。 Rubyでは1度定義したクラスをオープンして 好きなメソッドを追加できる。 “***UniStydy#1 ***”.to_alphanumeric # => UniStudy1
8.
実際にやってみる クラスCを定義して x メソッドを定義する クラスCをオープンして y メソッドを定義する オブジェクトを作成してxを呼 ぶ。
9.
yメソッドも呼んでみる ちなみに... Rubyではインスタンス変数 は値が代入されたときに初め て出現します。 オブジェクトのクラスと インスタンス変数につながり はない
10.
クラスとオブジェクトの関係 ▷ オブジェクトにはインスタンス変数とクラスへの参照が あるだけ ▷ クラスとインスタンス変数に繋がりはない ▷
メソッドはオブジェクトが持っているのではなくクラスが持ってい る。 obj @v = 1 MyClass my_method() クラス メソッドインスタンス変数 オブジェクト クラス
11.
オープンクラスの問題点 ▷ 既存のメソッドを上書きできること ▷ 他のプログラムに影響を与えてしまう場合がある =>
このようなコードをモンキーパッチと呼ぶ しっかりと管理でき、意図してモンキーパッチを 使うのであればよいが、それ以外は使わない方が 無難。 Refinementsという解決策 => 今日はやりません
12.
メソッドを呼び出すと何が起こる? 1. メソッドを探す 2. メソッドを実行する。 このプロセスは全てのオブジェクト指向で起きている。
13.
メソッド探索 メソッドがレシーバのクラスに入り、 メソッドを見つけるまで継承チェーンを遡ること。
14.
obj MySubClass MyClass my_method() Object Kernel BasicObject my_method() 発見! 継承チェーンにはモ ジュールも含まれま す
15.
includeとprepend include ・・・インクルードしたクラスの上に挿入される prepend・・・インクルードしたクラスの下に挿入される
16.
メソッドの実行 このメソッドを実行するにはRubyは2つの ことを知らなければならない
17.
1 @x が属しているオブジェクトはな に? 2 my_other_methodが呼び出され ているオブジェクトはなに? => どちらもレシーバに属している。 Rubyはメソッドが呼び出された時にレシーバの参照を 覚えておく必要がある。
=> selfキーワード
18.
selfキーワード Rubyのコードには常にselfの役割を担う、カレントオブジェクトという オブジェクトの参照を持っている。 ▷ メソッドを呼び出すと、レシーバがselfになる ▷ レシーバを明示せずにメソッドを呼び出すと、selfに対するメ ソッド呼び出しになる ▷
インスタンス変数は常にselfのインスタンス変数とみなされる Rubyの達人になりたければ常にselfを意識してプログラミングせよ。 とのことです。
19.
my_methodを呼び出した時 点でselfはobjの参照を持つ ▷ @xはselfの参照objのインスタンス変数を使用する ▷ my_other_methodも同様にobjのメソッドを呼び出すと理解 できる じゃあ見てみよう
20.
クラス、モジュール定義とself ▷ クラスやモジュール定義の内側(メソッドの外側)ではselfはク ラスやモジュールそのものになる。 class MyClass self
# => MyClass end
21.
Rubyはすべてのインスタンス変数はselfに属するものと思ってい る。 selfはMyClass そのもの selfはレシーバ になる クラスインスタンス変数と インスタンス変数は別物! 間違えるな!
22.
つまり、 クラスインスタンス変数@xはMyClassというClassクラスの オブジェクトのインスタンス変数である。 一応補足 : クラスを紐解くと... ▷
MyClassというクラスはClassクラスのオブジェクト ▷ MyClassという名前はただの定数
23.
MyClass = Class.new
do def my_method; “my_method”; end end class MyClass def my_method; “my_method”; end end こう書き換えることも出来る
24.
そんなとこで今日はおしまいです。 次回予告 Rubyのメタプログラミングに入門しよう
Download