高架下のruby - rabbit slide show€¦ · railsを使っていない rubyは使っている ....
TRANSCRIPT
![Page 1: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/1.jpg)
高架下のRuby Powered by Rabbit 2.1.2
高架下のRuby
横山昌史札幌市中央区Ruby会議01
2014/02/08
![Page 2: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/2.jpg)
高架下のRuby Powered by Rabbit 2.1.2
自己紹介
@myokoym (GitHub, Twitter)由来:m.yokoyama
発音例:myokoyamaa
ソフトウェア開発者
将棋指し(アマ三段)
![Page 3: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/3.jpg)
高架下のRuby Powered by Rabbit 2.1.2
Ruby Kaja 2013
![Page 4: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/4.jpg)
高架下のRuby Powered by Rabbit 2.1.2
札幌の将棋事情
北海道将棋会館札幌市中央区南4西9
北海道将棋連盟のブログhttp://doshoren.blog.fc2.com/
札幌将棋情報のブログhttp://blogs.yahoo.co.jp/sapporoshogijoho
![Page 5: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/5.jpg)
高架下のRuby Powered by Rabbit 2.1.2
よろしくお願いします。
m(_ _)m
![Page 6: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/6.jpg)
高架下のRuby Powered by Rabbit 2.1.2
はじめに
![Page 7: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/7.jpg)
高架下のRuby Powered by Rabbit 2.1.2
高架下とは?
![Page 8: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/8.jpg)
高架下のRuby Powered by Rabbit 2.1.2
高架橋の下
![Page 9: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/9.jpg)
高架下のRuby Powered by Rabbit 2.1.2
高架橋とは
↑これ
![Page 10: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/10.jpg)
高架下のRuby Powered by Rabbit 2.1.2
私(達)
Railsを使っていない高架下の住人
![Page 11: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/11.jpg)
高架下のRuby Powered by Rabbit 2.1.2
たまに見かける仮説
Ruby = Rails
![Page 12: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/12.jpg)
高架下のRuby Powered by Rabbit 2.1.2
私(達)
Railsを使っていない
Rubyは使っている
![Page 13: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/13.jpg)
高架下のRuby Powered by Rabbit 2.1.2
論破
![Page 14: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/14.jpg)
高架下のRuby Powered by Rabbit 2.1.2
お伝えしたいこと
Railsを使う機会がなくても、Rubyを活用できるということ
![Page 15: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/15.jpg)
高架下のRuby Powered by Rabbit 2.1.2
話すこと
コマンドラインツール
デスクトップアプリケーション
![Page 16: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/16.jpg)
高架下のRuby Powered by Rabbit 2.1.2
話すこと
コマンドラインツール
デスクトップアプリケーション
![Page 17: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/17.jpg)
高架下のRuby Powered by Rabbit 2.1.2
コマンドライン
![Page 18: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/18.jpg)
高架下のRuby Powered by Rabbit 2.1.2
コマンドラインツール
bashやコマンドプロンプトなどで動くプログラム
puts "Hello, World!"
![Page 19: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/19.jpg)
高架下のRuby Powered by Rabbit 2.1.2
コマンドラインの利点
UIを作成しなくていい気軽に書ける
Rubyだけで書ける
一括処理や自動化しやすい
シェルスクリプトの代替
![Page 20: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/20.jpg)
高架下のRuby Powered by Rabbit 2.1.2
シェルスクリプトの代替
違うOSで同じコードが動くRubyが動けばOK
環境の差は(ほぼ)Rubyが吸収
![Page 21: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/21.jpg)
高架下のRuby Powered by Rabbit 2.1.2
実行方法
irb
ワンライナー
ファイルに保存して実行
![Page 22: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/22.jpg)
高架下のRuby Powered by Rabbit 2.1.2
irb
1行ずつ実行
チュートリアル向き
$ irbirb(main):001:0> puts "Hello, World!"Hello, World!=> nil
![Page 23: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/23.jpg)
高架下のRuby Powered by Rabbit 2.1.2
ワンライナー
コマンドラインに直接コードを書いて実行
ヒストリーに残る
![Page 24: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/24.jpg)
高架下のRuby Powered by Rabbit 2.1.2
ワンライナー
$ ruby -e ...
$ ruby -e 'puts "Hello, World!"'Hello, World!
![Page 25: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/25.jpg)
高架下のRuby Powered by Rabbit 2.1.2
ワンライナー
Perlに似たオプションが使える
$ echo こんにちは | ruby -ple 'gsub(/[な-の]/, "ぬ")'こんぬちは
ヒント:るりまサーチ、Rubyの起動
![Page 26: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/26.jpg)
高架下のRuby Powered by Rabbit 2.1.2
ファイルに保存して実行
1行目はshebang
#!/usr/bin/env ruby
puts "Hello, World!"
![Page 27: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/27.jpg)
高架下のRuby Powered by Rabbit 2.1.2
shebang
Unixのスクリプトの一行目の#!インタプリタのパスを指定
envの場合、環境変数PATHを探す
書かなくてもいい
![Page 28: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/28.jpg)
高架下のRuby Powered by Rabbit 2.1.2
ファイルに保存して実行
shebang+実行権限
$ ./hello.rb
shebangなし
$ ruby hello.rb
![Page 29: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/29.jpg)
高架下のRuby Powered by Rabbit 2.1.2
マジックコメント
shebangがあるときは2行目に書く
Ruby2.0以降はUTF-8なら省略可
#!/usr/bin/env ruby# coding: utf-8
puts "こんにちは!"
![Page 30: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/30.jpg)
高架下のRuby Powered by Rabbit 2.1.2
実用例
ファイル名を一括変更
ファイルごとに圧縮
![Page 31: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/31.jpg)
高架下のRuby Powered by Rabbit 2.1.2
ファイル名を一括変更
require "fileutils"
Dir.glob("*") do |name| next unless /\Asl.*\.txt\z/ =~ name FileUtils.mv(name, name.sub(/\Asl/, "ls"))end
![Page 32: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/32.jpg)
高架下のRuby Powered by Rabbit 2.1.2
ファイルごとに圧縮
外部コマンドを使う場合7-Zipなどはコマンドラインで使える
Dir.glob("*.log") do |name| system("7z", "a", "#{name}.zip", name)end
![Page 33: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/33.jpg)
高架下のRuby Powered by Rabbit 2.1.2
生Ruby生Ruby
![Page 34: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/34.jpg)
高架下のRuby Powered by Rabbit 2.1.2
話すこと
コマンドラインツール
デスクトップアプリケーション
![Page 35: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/35.jpg)
高架下のRuby Powered by Rabbit 2.1.2
デスクトップアプリとは
デスクトップ環境で動作するアプリケーション
PCにインストールして使うもの
GUIツールキットを使って作るGUIアプリケーションとも呼ばれる
![Page 36: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/36.jpg)
高架下のRuby Powered by Rabbit 2.1.2
GUIツールキット
GUIアプリケーションを構成する部品の集まり
一からウィンドウを作成自由度が高い
JavaScriptを書かなくていい
![Page 37: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/37.jpg)
高架下のRuby Powered by Rabbit 2.1.2
GUIツールキットの例
マルチプラットフォーム(C/C++)GTK+, Qt, Tk
Mac OS XCocoa
Windows.NET Framework
![Page 38: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/38.jpg)
高架下のRuby Powered by Rabbit 2.1.2
Ruby × GUI
Ruby標準添付Ruby/Tk
GNOME開発環境(GTK+ 等)Ruby-GNOME2(Ruby/GTK)
etc...
![Page 39: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/39.jpg)
高架下のRuby Powered by Rabbit 2.1.2
GNOMEとは
TM
デスクトップ環境Debian GNU/Linux
Fedora
CentOS, RHEL
(Ubuntu)
![Page 40: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/40.jpg)
高架下のRuby Powered by Rabbit 2.1.2
デスクトップ環境
LinuxGNOME, KDE, Xfce, Unityなど
Mac OS XAqua
Windows Vista, 7, 8Aero
![Page 41: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/41.jpg)
高架下のRuby Powered by Rabbit 2.1.2
Ruby-GNOME2とは
Ruby-GNOME2はGNOMEで使用されるGTK+などの主要なライブラリのRubyバインディング集です。http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/49734
![Page 42: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/42.jpg)
高架下のRuby Powered by Rabbit 2.1.2
Ruby-GNOME2とは
GTK+はマルチプラットフォーム対応のGUIツールキットなので、マルチプラットフォーム対応のGUIアプリケーションをRubyで書くことができます。http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/49734
![Page 43: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/43.jpg)
高架下のRuby Powered by Rabbit 2.1.2
なぜRuby-GNOME2か
楽しくプログラミングできる
![Page 44: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/44.jpg)
高架下のRuby Powered by Rabbit 2.1.2
なぜ楽しいのか
Rubyらしく書ける
拡張ライブラリがたくさん
GitHubでオープンソース
日本人開発者が多い
![Page 45: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/45.jpg)
高架下のRuby Powered by Rabbit 2.1.2
Rubyらしく書ける
Ruby言語の持つ様々な特徴(例外処理やブロックの使用)をうまく取り入れることでRubyとの親和性が極めて高い.http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?gtk2-tut-introduction
![Page 46: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/46.jpg)
高架下のRuby Powered by Rabbit 2.1.2
拡張ライブラリがたくさん
Ruby/PopplerPDF読み込み、書き出し
Ruby/GStreamer音声、動画の再生、編集
Ruby/WebKitGTKWebブラウザウィジェット
![Page 47: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/47.jpg)
高架下のRuby Powered by Rabbit 2.1.2
GitHubでオープンソース
https://github.com/ruby-gnome2/ruby-gnome2
![Page 48: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/48.jpg)
高架下のRuby Powered by Rabbit 2.1.2
日本人開発者が多い
日本語メーリングリストruby-list
ruby-gnome2-devel-ja
日本語で質問できる
煮詰まったら気軽に投稿
![Page 49: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/49.jpg)
高架下のRuby Powered by Rabbit 2.1.2
あと何分?
![Page 50: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/50.jpg)
高架下のRuby Powered by Rabbit 2.1.2
バージョンについて
Ruby/GTK2
Ruby/GTK3
![Page 51: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/51.jpg)
高架下のRuby Powered by Rabbit 2.1.2
Ruby/GTK2
GTK+ 2のRubyバインディング
旧バージョンGTK+ 2の開発はほぼ終了
採用実績が多く、安定性は高いRabbit(プレゼンツール)
mikutter(Twitterクライアント)
![Page 52: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/52.jpg)
高架下のRuby Powered by Rabbit 2.1.2
Ruby/GTK3
GTK+ 3のRubyバインディング
最新バージョン機能向上(CSS対応の強化など)
移行が推奨されている
採用実績Mireru(ファイルビューア)
![Page 53: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/53.jpg)
高架下のRuby Powered by Rabbit 2.1.2
Hello, GUI!
require "gtk3"
window = Gtk::Window.newwindow.title = "Hello, GUI!"window.signal_connect("destroy") do Gtk.main_quitendwindow.show_allGtk.main
![Page 54: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/54.jpg)
高架下のRuby Powered by Rabbit 2.1.2
準備
gtk2またはgtk3をインストールする
gem install gtk3
連絡先:https://github.com/ruby-gnome2/ruby-gnome2/issueshttps://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-ja
![Page 55: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/55.jpg)
高架下のRuby Powered by Rabbit 2.1.2
準備
gtk2またはgtk3をrequireする
require "gtk3"
![Page 56: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/56.jpg)
高架下のRuby Powered by Rabbit 2.1.2
メインウィンドウ作成
×ボタンなどが付いた普通のウィンドウが生成される
window = Gtk::Window.newwindow.title = "Hello, GUI!"
![Page 57: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/57.jpg)
高架下のRuby Powered by Rabbit 2.1.2
イベント取得
既定のイベントが発生すると、ブロック内の処理が実行される
window.signal_connect("destroy") do Gtk.main_quitend
![Page 58: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/58.jpg)
高架下のRuby Powered by Rabbit 2.1.2
メインループ
showやshow_allで表示フラグON
Gtk.mainでメインループに突入
window.show_allGtk.main
![Page 59: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/59.jpg)
高架下のRuby Powered by Rabbit 2.1.2
Hello, GUI!
![Page 60: 高架下のRuby - Rabbit Slide Show€¦ · Railsを使っていない Rubyは使っている . 高架下のRuby Powered by Rabbit 2.1.2 論破. 高架下のRuby Powered by Rabbit](https://reader036.vdocuments.net/reader036/viewer/2022062602/5ed2da4fa079355bb26d9929/html5/thumbnails/60.jpg)
高架下のRuby Powered by Rabbit 2.1.2
おわりに
Rubyは汎用プログラミング言語です。Webに限らず、いろいろな場所で活用してみてください。デスクトップアプリケーションの勉強会を検討中なので、興味がある方はお知らせくださいませ :-)