狠狠撸

狠狠撸Share a Scribd company logo
@kkkyouhei
swift ruby
swiftを勉強してRubyの
コードが変化した3つの事
1つ目
厂迟谤耻肠迟を使うようになった
メソッドの戻り値として
hashを受け取る例
before
Swiftを勉強してrubyの コードが変化した3つの事
after
Swiftを勉強してrubyの コードが変化した3つの事
メリット
hashは無い要素に
アクセスするとnil
structは例外が発生
戻り値に変更があった場合
に呼び出し元のコードを修正
漏れが合っても見つけやすい
2つ目
メソッドの引数にブロック
を活用するようになった
外部础笔滨を実行する例
before
Swiftを勉強してrubyの コードが変化した3つの事
after
Swiftを勉強してrubyの コードが変化した3つの事
メリット
メソッドの戻り値が配列や
ハッシュだとコード上からは
読み取りにくい
ブロックの引数を単純な値
にすることで理解しやすい
3つ目
抽象クラス
abstract class
HTMLをパースして
データを取り出す例
before
Swiftを勉強してrubyの コードが変化した3つの事
× クロールするドメイン分
after
Swiftを勉強してrubyの コードが変化した3つの事
共通処理は抽象クラスに残
す
Swiftを勉強してrubyの コードが変化した3つの事
具体的な処理は
実装クラスに移動
メリット
DRY
ただし呼び出し元のクラス
によってテンプレートメソッ
ドの挙動を変えるような事が
あれば意味がなくなる
おわり
Ad

Recommended

PPTX
My code
俊 中村
?
PDF
研究生のためのC++ no.5
Tomohiro Namba
?
PPTX
Enshu8
sudahiroshi
?
PDF
Purescript with Monad
Kousuke Ruichi
?
PDF
颁耻笔测解説
Ryosuke Okuta
?
PPT
アルゴリズムとデータ构造14
Kenta Hattori
?
PDF
研究生のためのC++ no.4
Tomohiro Namba
?
PPT
アルゴリズムとデータ构造3
Kenta Hattori
?
PDF
深層学習フレームワーク Chainerとその進化
Yuya Unno
?
PPTX
基礎構文班19回目 変数のスコーフ?とforの並ひ?替え
XMLProJ2014
?
PDF
Lt8 JavaScriptで配列をコピーする
Shingo Inoue
?
PPTX
OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方)
Shigenori Ueda
?
PPTX
[第2版]Python機械学習プログラミング 第9章
Haruki Eguchi
?
PDF
研究生のためのC++ no.3
Tomohiro Namba
?
PPTX
Olearning-prml4
Kousuke Takeuhi
?
PPT
20110611 v7unix-b
Takayuki Ukai
?

More Related Content

What's hot (8)

PDF
深層学習フレームワーク Chainerとその進化
Yuya Unno
?
PPTX
基礎構文班19回目 変数のスコーフ?とforの並ひ?替え
XMLProJ2014
?
PDF
Lt8 JavaScriptで配列をコピーする
Shingo Inoue
?
PPTX
OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方)
Shigenori Ueda
?
PPTX
[第2版]Python機械学習プログラミング 第9章
Haruki Eguchi
?
PDF
研究生のためのC++ no.3
Tomohiro Namba
?
PPTX
Olearning-prml4
Kousuke Takeuhi
?
PPT
20110611 v7unix-b
Takayuki Ukai
?
深層学習フレームワーク Chainerとその進化
Yuya Unno
?
基礎構文班19回目 変数のスコーフ?とforの並ひ?替え
XMLProJ2014
?
Lt8 JavaScriptで配列をコピーする
Shingo Inoue
?
OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方)
Shigenori Ueda
?
[第2版]Python機械学習プログラミング 第9章
Haruki Eguchi
?
研究生のためのC++ no.3
Tomohiro Namba
?
Olearning-prml4
Kousuke Takeuhi
?
20110611 v7unix-b
Takayuki Ukai
?