6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

備忘録Ruby

Last updated at Posted at 2015-03-08

etc

  • Ruby プログラムをエラーメッセージ付きで終了
  • エンコードした文字列を返す

例外処理

例外処理の書き方

Windowsで起動させる方法いろいろ

Ocraでexe化してあるのを前提として…

  • バッチファイル
    • スクリプトに渡す引数は、バッチファイルの先頭に変数で書いておけばいい
    • 配列が無いので、不特定数の引数が設定しにくい
    • 慣れている人にはこれで十分だが、初心者にはハードルが高い
  • WSH(VBScript,JScaript)
  • Powerscript
    • バッチファイルよりもできることが多い
    • Powerscriptを起動するのに実行許可を求められるのが手間
  • Ruby/Tk
    • Ruby/TkでGUIを作るのが、CUIに慣れていない人には適している
    • RubyGnomeでもいいが、わかりやすい日本語資料が少ない…
  • 参考リンク

map

文字コード

delete

  • 配列から指定したものと同じ要素をすべて削除
  • "flag" という要素をすべて消したい時は mojiretsu.delete("flag") のように書く
  • リファレンス→ delete (Array)

RubyGem

Ruby用のパッケージ管理システム。
色んなものがアップロードされていて、実に便利。
車輪の再発明を防止する意味でも、積極的に使いたい。

  • 初心者は覚えておきたいRubygemsのコマンドまとめ
    • 使い方はここを読んでおけば困らない
  • RubyGems.org
    • ここで欲しい機能を英単語で検索すると、色々出てくる
    • xlsx や csv や twitter など、自分が欲しいと思っているものは、何かしらの形で既に作られている
  • インストールできない?
    • 職場の環境によっては、プロキシを通す必要がある

標準搭載デバッガ

Windows 上だと文字コードの関係なのか、デバッガがまともに動かなかった。
Cygwin 上だと問題なく動いた。謎。

多次元配列の初期化方法

参考→Ruby 配列の初期化と多重配列

[[0,0,0],[0,0,0]]
のような多次元配列を作る時は、
arr = Array.new(2){ Array.new(3,0) }
のように、ブロックを使って書くこと。

arr = Array.new( 2, Array.new(3,0) )
のように書くと、
要素への変更が、本来変更する予定でない要素にも影響してしまう。
詳しくは→Rubyで二次元配列の初期化

コマンドプロンプト上でちょっと試す

  1. ruby でrubyを起動
  2. rubyスクリプトを書いていく
  3. 書き終わったら Ctrl-z
  4. 結果が出て終わり

参考→[Ruby]コマンドプロンプトを使う

rcairo

2次元画像描画ライブラリの cairo を Ruby で使う為のライブラリ。

GUI

Ruby/GNOME

Ruby/Tk

Rabbit

  • http://rabbit-shocker.org/ja/

  • gem install rabbit

  • Markdown形式でテキスト書く

    • がスライド1枚のタイトル名

      • がスライド内のリスト
    • 文頭に何も置かない場合は本文になる
  • rabbit hoge.md

    • いきなりウィンドウが表示されて、プレゼンができる
  • rabbit -p -o hoge.pdf hoge.md

    • pdfを出力
    • これだとpdfをConfluenceに貼り付けた時、文字化けする
    • おそらくPDFに文字コードをそのまま格納しているから
    • 全ページ画像化して、pdf_asでPDFにまとめる(煩雑)
      • うさぎが歩くのをやめさせたい
        • rabbit-slideで変えるのか?
  • 16:9にする

    • サイズの -w と -h を変える
    • rabbit -w 1280 -h 720 hoge.md などのようにすると 16:9 になる
    • フルHDだとプレビューが大きすぎるので-w 640 -h 360などでプレビューするといい
  • rabbit のコマンドを使うたびに DL is deprecated, please use Fiddleと表示される

    • 表示されてていても、今のところは実害無し
      • Ruby2.0 から dll や so などのライブラリを使うのが非推奨(desprected)になり、Fiddle を使うよう Ruby 側から勧められている
        • Windows の Ruby 環境で Rabbit を使うから?
    • 参考→ https://teratail.com/questions/1411

ReVIEW

テキストマークアップ型の原稿フォーマット。

ReVIEW 記法でテキストファイルを作成し、
それらを ePUB だけでなく
PDF(LaTeX)、XHTML、XML といったマルチフォーマットに出力可能。

Emacs 用の支援モードがあるらしい。

MS-Excel

xlsx や xlsm といったファイルの中身を取り扱うのに用いる。
使うライブラリは roo が評判良いが、
xlsx/m のデータの中身だけを使いたいのであれば、
一旦 csv に変換してから、後述の CSV ライブラリを使った方が楽。

というのも roo でセル内容を直接読もうとすると、
セルの内容が浮動小数点型、文字列型、日付型、日時、関数型、などの型によって
実際に Excel 上で見る時と異なる値を取得してしまう。

例えば、数値は実数型なのに浮動小数点型ですべて取り扱ってしまうので、
「.0」を付けてほしくないのに付けてしまう。

roo の csv 出力はここら辺を慮って作られているのか、
Excel で表示されるままで出力してくれることが多い。
但し Ruby が 0.0001 より小さい数値を 1.0e-04 のように表記してしまうので、
それが嫌な人は csv に出力してから、別途加工する。

CSV

読み込み、書き出し、共に楽で便利。
使わない手は無い。

JSON

読み込んでハッシュにするのが、とても楽。
書き出しはまだ使ったこと無し。

XML

XML を読み書きする標準ライブラリ rexml が便利。

Windowsでのexe化

パソコンに Ruby をインストールしていない人にも使ってもらえるように、
実行ファイル(exe)化するのに ocra を用いる。

  • larsch/ocra
    • ocra の本家ページ
    • インストールや使い方は README.md を参照
  • Ruby2.1.1 にて ocra でexe化が正常に行えなかった
    • 別のインストーラパッケージで 2.0.0 をインストールしたら、ocra でexe化は問題なく行えた
    • Ruby のバージョンが問題なのではなく、インストーラに問題があるような気がする
    • http://qiita.com/t_oginogin/items/9f989f9b5dc5b3e08994
6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?