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