Swiftを勉強してrubyの コードが変化した3つの事

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

Recommended

My code by
My codeMy code
My code俊 中村
60 views10 slides
研究生のためのC++ no.5 by
研究生のためのC++ no.5研究生のためのC++ no.5
研究生のためのC++ no.5Tomohiro Namba
443 views27 slides
Enshu8 by
Enshu8Enshu8
Enshu8sudahiroshi
279 views18 slides
Purescript with Monad by
Purescript with MonadPurescript with Monad
Purescript with MonadKousuke Ruichi
13.4K views60 slides
CuPy解説 by
CuPy解説CuPy解説
CuPy解説Ryosuke Okuta
120.2K views21 slides
アルゴリズムとデータ構造14 by
アルゴリズムとデータ構造14アルゴリズムとデータ構造14
アルゴリズムとデータ構造14Kenta Hattori
1.9K views17 slides

More Related Content

What's hot

深層学習フレームワーク Chainerとその進化 by
深層学習フレームワークChainerとその進化深層学習フレームワークChainerとその進化
深層学習フレームワーク Chainerとその進化Yuya Unno
3.9K views32 slides
基礎構文班19回目 変数のスコープとforの並び替え by
基礎構文班19回目 変数のスコープとforの並び替え基礎構文班19回目 変数のスコープとforの並び替え
基礎構文班19回目 変数のスコープとforの並び替えXMLProJ2014
489 views24 slides
Lt8 JavaScriptで配列をコピーする by
Lt8 JavaScriptで配列をコピーするLt8 JavaScriptで配列をコピーする
Lt8 JavaScriptで配列をコピーするShingo Inoue
906 views18 slides
OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方) by
OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方)OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方)
OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方)Shigenori Ueda
4.7K views8 slides
[第2版]Python機械学習プログラミング 第9章 by
[第2版]Python機械学習プログラミング 第9章[第2版]Python機械学習プログラミング 第9章
[第2版]Python機械学習プログラミング 第9章Haruki Eguchi
163 views18 slides
研究生のためのC++ no.3 by
研究生のためのC++ no.3研究生のためのC++ no.3
研究生のためのC++ no.3Tomohiro Namba
427 views24 slides

What's hot(8)

深層学習フレームワーク Chainerとその進化 by Yuya Unno
深層学習フレームワークChainerとその進化深層学習フレームワークChainerとその進化
深層学習フレームワーク Chainerとその進化
Yuya Unno3.9K views
基礎構文班19回目 変数のスコープとforの並び替え by XMLProJ2014
基礎構文班19回目 変数のスコープとforの並び替え基礎構文班19回目 変数のスコープとforの並び替え
基礎構文班19回目 変数のスコープとforの並び替え
XMLProJ2014489 views
Lt8 JavaScriptで配列をコピーする by Shingo Inoue
Lt8 JavaScriptで配列をコピーするLt8 JavaScriptで配列をコピーする
Lt8 JavaScriptで配列をコピーする
Shingo Inoue906 views
OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方) by Shigenori Ueda
OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方)OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方)
OpenModelica tutorials_6 Tips(超初級チュートリアル6.便利技 Tableモデルの使い方)
Shigenori Ueda4.7K views
[第2版]Python機械学習プログラミング 第9章 by Haruki Eguchi
[第2版]Python機械学習プログラミング 第9章[第2版]Python機械学習プログラミング 第9章
[第2版]Python機械学習プログラミング 第9章
Haruki Eguchi163 views
研究生のためのC++ no.3 by Tomohiro Namba
研究生のためのC++ no.3研究生のためのC++ no.3
研究生のためのC++ no.3
Tomohiro Namba427 views

Recently uploaded

how query cost affects search behavior translated in JP by
how query cost affects search behavior translated in JPhow query cost affects search behavior translated in JP
how query cost affects search behavior translated in JPTobioka Ken
9 views16 slides
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私修治 松浦
122 views36 slides
SSH超入門 by
SSH超入門SSH超入門
SSH超入門Toru Miyahara
363 views21 slides
lt.pptx by
lt.pptxlt.pptx
lt.pptxtomochamarika
80 views13 slides
図解で理解するvetKD by
図解で理解するvetKD図解で理解するvetKD
図解で理解するvetKDryoo toku
86 views22 slides
システム概要.pdf by
システム概要.pdfシステム概要.pdf
システム概要.pdfTaira Shimizu
40 views1 slide

Recently uploaded(9)

how query cost affects search behavior translated in JP by Tobioka Ken
how query cost affects search behavior translated in JPhow query cost affects search behavior translated in JP
how query cost affects search behavior translated in JP
Tobioka Ken9 views
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by 修治 松浦
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
修治 松浦122 views
図解で理解するvetKD by ryoo toku
図解で理解するvetKD図解で理解するvetKD
図解で理解するvetKD
ryoo toku86 views
Najah Matsuo Self Introduction by NajahMatsuo
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self Introduction
NajahMatsuo7 views
AIで始めるRustプログラミング #SolDevHub by K Kinzal
AIで始めるRustプログラミング #SolDevHubAIで始めるRustプログラミング #SolDevHub
AIで始めるRustプログラミング #SolDevHub
K Kinzal22 views
onewedge_companyguide1 by ONEWEDGE1
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1
ONEWEDGE127 views