280 likes | 449 Views
Ruby 入門. 2009/11/06 けーちゃん. はじめに. このセッションについて Ruby ってどんな言語? 言語仕様の紹介 使い方の雰囲気 自己紹介 けーちゃん COBOLer →オープン系へ. Ruby とは. まつもとゆきひろ (Matz) さんが開発 オブジェクト指向スクリプト言語 7 月の誕生石から命名 Ruby on Rails で爆発的に普及. Ruby の特徴. 純粋なオブジェクト指向言語 動的型付け 変数名でわかるスコープ 珍しいオブジェクト指向機能 ( Mixin 、特異メソッド) 演算子オーバーロード 例外処理
E N D
Ruby入門 2009/11/06 けーちゃん
はじめに • このセッションについて • Rubyってどんな言語? • 言語仕様の紹介 • 使い方の雰囲気 • 自己紹介 • けーちゃん • COBOLer→オープン系へ
Rubyとは • まつもとゆきひろ(Matz)さんが開発 • オブジェクト指向スクリプト言語 • 7月の誕生石から命名 • Ruby on Rails で爆発的に普及
Rubyの特徴 • 純粋なオブジェクト指向言語 • 動的型付け • 変数名でわかるスコープ • 珍しいオブジェクト指向機能(Mixin、特異メソッド) • 演算子オーバーロード • 例外処理 • イテレータ • マルチスレッド • ガーベージコレクタ
Rubyの使いどころ • Webアプリケーション開発言語 • ちょっとしたデータ加工やシステム管理 • 教育用言語 • ゲームなど
Rubyのインストール(1) • 本家http://www.ruby-lang.org/ja/downloads/ • ActiveScriptRubyhttp://www.artonx.org/data/asr/ • One-Click Ruby Installer for Windowshttp://rubyinstaller.org/ <Windows版>
Rubyのインストール(2) • ActiveScriptRuby
さっそく試してみる • 最初はやっぱりコマンドプロンプト • 対話型で試せるirb • GUI開発環境RDE(Ruby Development Environment)http://homepage2.nifty.com/sakazuki/rde/index.html
RDEのインストール(1) • まずはダウンロード RDE本体 リファレンス (ヘルプ版)
RDEのインストール(2) • RDEの初期設定 Ruby本体と リファレンスの 位置を指定
RDEのインストール(3) • これで準備完了です リファレンスも 日本語で! 日本語 メニュー
雰囲気をつかんで頂いたところで • ちょっと硬いお話に戻ります!
文法(1/5) 基本の基本 • 大文字と小文字は区別します • # から行末までがコメント • 式は改行、またはセミコロンで区別 • リテラルの書き方数値、文字列、配列、ハッシュ、正規表現
文法(2/5) 変数・定数 • 変数に型はありません • 変数名で決まるスコープ • 擬似変数 self/true/false/nil
文法(3/5) 演算子 • 演算子 • 自己代入、++は使えません • 演算子オーバーライド
文法(4/5) 条件分岐と繰り返し • 条件分岐は “if, elsif, else, end”とcase • 繰り返しは while, for, そしてイテレータ • 例外処理は begin, rescue, ensure, end
文法(5/5) オブジェクト指向 • クラス定義と継承 • メソッド定義とブロック付き呼び出し • モジュール定義とMix-in
ちょっと退屈でしたかね^^; • ではいよいよ実践です!
実演その1 ~コンソールアプリ 仕様: タメになる格言がたくさん入ったCSVから、 ランダムで1つ選んで表示する。 格言 CSV Ruby 1,格言その1,山田太郎 2,格言その2,鈴木卓三 : : こけたら、立ちなはれ。 (松下 幸之助) ※ランダムに1件を表示
実演その2 ~DBを使う(1) DBI:Rubyからデータベースを利用する方法の1つ Ruby DBの種類に依存しない、 抽象化されたアクセス SQLite3 SQLite3用の ドライバ SQLite3用の ライブラリ DBI その他の DB 他のDB用の ドライバ 他のDB用の ライブラリ
実演その2 ~DBを使う(2) 仕様: グルメデータベースから、指定されたジャンルのお店をランダムで1つ選んで表示する。 Ruby グルメ DB ジャンル 指定 <イタリアン> ローザネーラ ジャンル 店舗名 ・・・ 和食 寿司政 ・・・ 洋食 いくた ・・・ ※ランダムに 1件を表示 :
実演その3 ~GUIも出来ます Tk(ツールキット):GUIライブラリ Ruby Ruby/TK Tk (GUI) Tcl スクリプト Perl Perl/TK Python TKinter
実演その4 ~やっぱWeb(1) • WEBrickで簡単にHTTPサーバ HTTPサーバ WEB ページ WEBrick File Handler クライアント
実演その4 ~やっぱWeb(2) • WEBrickでプログラムを実行 • ERB (eRuby) HTTPサーバ WEBrick Proc Handler Ruby クライアント ERB Handler ERB
関連技術、情報源 • XMLを読むならREXML • Apacheにはmod_ruby • ライブラリ管理:RubyGems • 他の実装:YARV,JRuby, IronRuby, ・・・ • リファレンスマニュアルhttp://www.ruby-lang.org/ja/man/html/index.html • るびまhttp://jp.rubyist.net/magazine/
最後に・・・ • Ruby技術者認定試験制度http://www.ruby-assn.org/ja/certification/examination.htm • そして、お話は流行りのRoRへ!さわださん、よろしくです^^