Rubyシェルプログラミング
irbirbsh徹底活用−

[表紙]Rubyシェルプログラミング−irb&irbsh徹底活用−

B5変形判/232ページ

定価(本体2,680円+税)

ISBN 4-7741-1798-6

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

本書は,Rubyのシェルでの活用やシェルとしての機能に着目した本です。Rubyといえばオブジェクト指向スクリプト言語としての側面が有名ですが,そういった堅苦しいことは抜きにして,対話型インタフェースのirbや,そのシェル機能拡張版のirbshをつかって,Rubyコマンドを弄って体験できるようになっています。

こんな方におすすめ

  • Rubyをシェルでも使いたい人
  • Rubyを対話的に学習したい人

目次

Chapter 1 シェルとRuby 〜Rubyなシェル登場〜

  • 1.1 シェルってなんだ
    • ・コマンドラインの逆襲
  • 1.2 irb
    • ・立ち上がれirb
    • ・ようこそirbワールドへ
    • ・最新版irbのインストール
  • 1.3 詳細に入る前に

Chapter 2 まずはirbから

  • 2.1 irb初歩の初歩
    • ・対話的Ruby環境
    • ・GNU Readlineによる編集機能
  • 2.2 履歴
    • ・直前の値は_で
    • ・eval history 〜もっと前にも遡れる〜
  • 2.3 irbからirbshへ

Chapter 3 irbsh 〜inf-ruby-modeの先にあるもの〜

  • 3.1 巨大戦艦Emacs
    • ・とにかくデカい
    • ・バッファとウィンドウ
    • ・無限の拡張性
  • 3.2 Emacs内でプログラムを動かす
    • ・comint-mode
    • ・shell-mode
    • ・inf-ruby.el 〜irbをEmacs内で〜
  • 3.3 irbsh 〜本格派Rubyシェル〜 登場!
    • ・シェルスクリプトってなんだかなぁ
    • ・Rubyなシェルもどき
    • ・そうだ,irbだ!
    • ・Emacsなら可能!
    • ・irbsh誕生!
  • 3.4 インストール
  • 3.5 irbsh起動
  • 3.6 irbshの基本
  • 3.7 基本的にはinf-ruby-mode
  • 3.8 スペースから始まるコマンドはシェルコマンド
    • ・文脈反転でしまった!という場合でも安心
  • 3.9 シェルライクなキーバインド
  • 3.10 魔法のTabで補完・展開
    • ・強力補完機能
    • ・ワイルドカード展開(シェルコマンドの文脈のみ)
    • ・ホームディレクトリ展開
    • ・直前の引数のディレクトリ部分を挿入(シェルコマンドの文脈のみ)
  • 3.11 対応する括弧の挿入
  • 3.12 スクリプトをロードする
  • 3.13 再起動
  • 3.14 cdについて
    • ・cdを含む複数のコマンドは面倒
    • ・quoteするのが面倒ならば
  • 3.15 ヒストリメニュー
  • 3.16 操作方法のまとめ
  • 3.17 拡張system
    • ・irbsh_system関数
    • ・zshライクな「=コマンド名」
    • ・実行中のコマンドを表示・非表示
    • ・試運転モード
  • 3.18 便利な機能
    • ・コマンドラインスタック
    • ・バッファ・リージョンをFileオブジェクトとして操作
    • ・複数のirbsh
  • 3.19 制御符号
    • ・「;」返り値の出力を抑制
    • ・「&」バックグラウンドシェル
  • 3.20 マルチラインバッファ
    • ・複数行のコードも楽々
    • ・マルチラインバッファのヒストリ

Chapter 4 ここからが本番 〜irbshを使った開発〜

  • 4.1 シェルコマンド実行機能だけじゃない?
  • 4.2 Rubyで落書き♪
    • ・*ruby scratch*バッファ
    • ・最初の落書き
    • ・メソッドを落書きしてみよう
    • ・*ruby scratch*の内容を変更
  • 4.3 真打登場! 評価リスト
    • ・評価リスト初歩の初歩
    • ・スクリプト変更! おもしろくなるぞ
    • ・長い出力だってへっちゃら
  • 4.4 スクリプト作成!〜lsm.rb:lsもどき〜
  • 4.5 テストファイルの作成
  • 4.6 File.lstat
    • ・より効率よく
    • ・File::Statオブジェクト
    • ・statはシェルコマンドにもなっている
  • 4.7 最初のメソッド
  • 4.8 少しずつ開発
    • ・心配症でも大丈夫
    • ・もうちょっとカッコよく
  • 4.9 ちょっと一休み:Timeオブジェクト
    • ・Time#strftime
  • 4.10 再びlsm_fileへ
  • 4.11 ファイルがディレクトリの場合
  • 4.12 ファイルがシンボリックリンクの場合
    • ・似たもの同士だが……
    • ・ついにシンボリックリンク対応へ
  • 4.13 コマンドライン引数を取るように
  • 4.14 最初の実行
  • 4.15 ディレクトリ内のファイルを表示する
    • ・ちょっと待った
  • 4.16 全ソース
  • 4.17 そして開発は続く

Chapter 5 irbshを使ったCGI開発

  • 5.1 交換日記CGI
  • 5.2 CGI開発のために・・・・
    • ・WWWサーバを立ち上げる
    • ・CGIの概略
    • ・eRuby入門
  • 5.3 交換日記作成
    • ・交換日記の仕様
  • 5.4 プログラムの構成
  • 5.5 ちょっとずつ作成
  • 5.6 irbshによるCGIの動作確認
  • 5.7 書き込みフォーム仮作成
  • 5.8 認証
  • 5.9 データベース作成
    • ・SDBMクラス
    • ・交換日記データ保存形式
  • 5.10 SDBMを使った交換日記データベースクラスの作成
    • ・記事はHash
    • ・get_latestメソッド
    • ・writeメソッド
    • ・話は単純ではない 〜排他制御〜
    • ・字数制限への対処
    • ・動作確認
  • 5.11 ちょっと脱線:RubyUnitによるテストプログラム
    • ・RubyUnitのインストール
    • ・RubyUnitの使い方
    • ・めんどくさがりやのためのc2t.rb
  • 5.12 日記記事表示
    • ・Koukan#latest_messages
    • ・$IRBSH変数
    • ・データベースが空であるときの出力を確認
  • 5.13 試し書き
    • ・書き込みフォーム作成
    • ・メンバの名前はKoukan#nameにおまかせ
    • ・Koukan::select_name_html
    • ・Koukan::DB#name_latest
    • ・書き込み処理Koukan#write
    • ・やっと書き込み実験
  • 5.14 koukan.cgiの設定
  • 5.15 wwwsrvで確認
    • ・ログイン
    • ・書き込み
    • ・出来上がり
  • 5.16 全ソース

著者プロフィール

るびきち

1996年からLinuxを使い出し,EmacsとRubyに出会う。それ以来,必要な情報を素早くわかりやすい形で取り出す方法を模索し続けている。Emacsに新たな風を吹き込むべくanything.el等多数のEmacs Lispプログラムを開発。著書に「Ruby逆引きハンドブック」(シーアンドアール研究所)他がある。