狠狠撸
Submit Search
2015 07-04-ruby rails
?
3 likes
?
2,338 views
Hiroshi Oyamada
Follow
1 of 16
Download now
Download to read offline
More Related Content
2015 07-04-ruby rails
1.
Rubyらしいプログラムを 書くためのコツ~配列編 Ruby / Ruby
on Rails ビギナーズ勉強会 第6回 #coedorb
2.
photo by poluz! http://www.?ickr.com/photos/poluz 自己紹介
3.
? 派遣で6年程エンジニア&PM ? WindowsのActiveDirecotryとか ?
2005年~2014年までは人材系の仕事 ? エンジニア専門のキャリアコンサルタント ? 昨年からなぜかフリーランス ? しかもWeb系のエンジニア ? Rails4+AngularJS。最近は仕事でRubyでク ローラー開発とかも行う ? 実はJavaScriptが好きでこっちのほうが経験が長 い ?Titanium Mobile、Node.js、最近だとNW.js ?(最近メンテ辞めましたが)クラフトビールが飲め る買えるお店が探せるスマフォアプリ、Webサイト を全部JavaScriptベースの技術で作ってました
4.
このセッションをやろうとしたキッカケ
5.
?jeffrey james pacres http://www.?ickr.com/photos/jjpacres/3293117576/ Agenda 1.Rubyの言語の特徴を紹介 2.Rubyの配列処理サンプル
6.
プログラミング言語 の歴史からRubyの成 り立ちを知る Rubyは RubyはALGOL系言語(C→Perl)とLisp系の 両方の流れを組んでるらしい ALGOL系言語:手続き型プログラミング言語 Lisp系言語:関数型プログラミング言語 初めてのRubyより引用
7.
手続き型と関数型の書き方比較 ? 関数風のコードは定義の連鎖 ? 手続きではなく「これは~です」という宣言とか定義が並ぶ ?
http://www.slideshare.net/parrotstudio/gunmaweb-5-20110514から引用 手続き風に 書いた場合 関数風に書 いた場合
8.
もう1つRubyの特徴を ? Rubyは大クラス主義 ? Javaでは、ArrayやQueueやStackやIteratorクラスのように、責務に よってクラスが別れる傾向があるのに対し、RubyではすべてArrayク ラスが引き受けます。このように、Rubyのクラスは、Javaよりもク ラスが大きく、担う役割も大きなものになります。このような考え 方は、大クラス主義と呼ばれています。他の言語だとそれぞれのク ラスの責務が小さめ ?
1つのクラスで多数の机能が詰め込まれてる
9.
さっきスクレイピングしてArray Rubyリファレンスか ら情報抽出してみた →数えたら84個ありました
10.
では実際にRubyの配列 サンプルをいくつか紹介 Photo by Sebastien
Wiertz via Flickr https://www.?ickr.com/photos/wiertz/4604140980/
11.
その1:食べ物のリストを作るには? fruits = %w(りんご
バナナ なし) vegetables = %w(ネギ にんじん ジャガイモ) foods = fruits + vegetables # => ["りんご", "バナナ", "なし", "ネギ", "に んじん", "ジャガイモ"]
12.
その2:好きな食べ物だけを得るには? fruits = %w(りんご
バナナ なし) vegetables = %w(ネギ にんじん ジャガイモ) my_favorites = %w(ビール コーヒー りんご ジャガイモ) my_favorites_foods = ? (fruits + vegetables) & my_favorites # =>["りんご", "ジャガイモ"]
13.
その3:ジュースだけを得るには? beverages_for_adults = %w(ビール
ワイン ウィスキー ジンジャー エール) beverages_for_kids = %w(りんごジュース オレンジジュース ミル ク) beverages = beverages_for_adults + beverages_for_kids # => ["ビール", "ワイン", "ウィスキー", "ジンジャーエール", " りんごジュース", "オレンジジュース", "ミルク"] juices = beverages.select{|drink| drink.match(/ジュース /)} # => ["りんごジュース", "オレンジジュース"]
14.
その3のサンプルをよりRubyらしく書くと? beverages_for_adults = %w(ビール
ワイン ウィスキー ジンジャー エール) beverages_for_kids = %w(りんごジュース オレンジジュース ミル ク) beverages_for_kids.zip(beverages_for_adults).flatten.s elect{|drink| drink.match(/ジュース/)}
15.
資料作成で参考にした情報 ? 初めてのRuby ? 「初めて」という言葉はついてるけど他の言語経験ある人向けの内容。とてもオススメ ?
純粋なプログラミング入門書ではないのでRubyで初めてプログラミングを学ぶにはオラ イリーの「初めてのプログラミング」あたりが良いかも ? るびまの「ライブラリー開発者になろう」の記事 ? http://magazine.rubyist.net/?0043-BeALibraryDeveloper ? ”「よいソフトウェアを開発する」には、「似ているとはどういうことかを知って、それ と同じようにする」とよいのでした。” ? Rubyと大クラス主義とダックタイピング、そして名前重要 ? http://d.hatena.ne.jp/pbgreen/20111016/1318782503
16.
ご清聴ありがとうございました
Download