String#stripは文字列前後の空白を削除します

String#stripは文字列前後の空白を削除します。 " Hello, world! ".strip #=> "Hello, world!" String#strip!は文字列前後の空白を削除します(破壊的メソッド)。 >> " Hello, world! ".strip => "Hello, world!" >> "\t\t\tHello, world!\n\n\n".strip => …

ハッシュの値が存在しないときの値(デフォルト値)を設定する

ハッシュの値がまだ存在しなかったら0を代入し、あったら数を足し込んでいこうと思います。 h = Hash.new if not h[:key] h[:key] = 0 end h[:key] += 123 Hash#key?メソッドを使うべきかしら。 h = Hash.new if not h.key? :key h[:key] = 0 end h[:key] +=…

パスワードを作成するRubyスクリプト

パスワードを作成するRubyスクリプト makepass.rb を作りました。無保証ですので、使いたい方は自己責任で。 # makepass.rb require 'io/console' require 'digest/sha2' require 'base64' require 'win32/clipboard' Win32::Clipboard.set_data('') STDIN.n…

WindowsでRuby 1.8.6 → 1.9.3 へ。

最近Rubyをアップデートしてなかったので、この機会に1.9へ。 C:\>ruby -v ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] Rubyを検索し、 http://www.ruby-lang.org/ja/downloads/ から、 http://www.artonx.org/data/asr/ へ行き、 Ruby-1.9.3-p1…

『数学ガール/ガロア理論』をLaTeXで書いているときに使っていたRubyスクリプト

結城浩(id:hyuki)さんが『数学ガール/ガロア理論』をLaTeXで書いているときに使っていたRubyスクリプトです。 Windowsで動作することを仮定しています。 やっていることは、 一時的なディレクトリを作成し、 カレントディレクトリの下のファイルを全部そこ…

Windows XPでmrubyをビルドして動かす

祝! 軽量Rubyが公開を参考にさせていただいて、Windows XPでmrubyをビルドして動かしてみました。 mrubyの入手。 gitはWindows上でインストールしてあるとします。 git clone https://github.com/mruby/mruby.git でソースコードを得ます。 cygwinのインスト…

mrubyのソースコードを眺める

すでにGitがインストールされているとして。 C:\> mkdir mruby C:\> cd mruby C:\mruby> git clone https://github.com/mruby/mruby.git Cloning into mruby... remote: Counting objects: 462, done. remote: Compressing objects: 100% (247/247), done. r…

Rubyで、gem installした後、ざっとドキュメントを見たいとき、どうするのが良いでしょうか?→gem serverで解決

教えてくんモードです。 Rubyで、gem installした後、ざっとドキュメントを見たいとき、どうするのが良いでしょうか? (→解決しました「gem serverを動かして、表示されたURLをブラウザで見る」らしいです) たとえば、Rubyで「はてなブックマーク」を使っ…

Twitterで指定ユーザの最近のつぶやきを表示するRubyスクリプト

準備。 C:\> gem install twitterスクリプト。 require 'twitter' require 'kconv' Twitter::Search.new().from('hyuki').each do |r| puts r["text"].tosjis end

なんとなくirb

C:\work> irb irb(main):001:0> 0.class => Fixnum irb(main):002:0> nil.class => NilClass irb(main):003:0> true.class => TrueClass irb(main):004:0> false.class => FalseClass irb(main):005:0> [].class => Array irb(main):006:0> {}.class => Hash…

UTF8文字列をShift_JISに変換する

UTF8文字列をShift_JISに変換する例。 require 'kconv' MATHGIRL = "\346\225\260\345\255\246\343\202\254\343\203\274\343\203\253" puts MATHGIRL puts MATHGIRL.tosjis 実行結果です(Windowsのコマンドラインにて)。 謨ー蟄ヲ繧ャ繝シ繝ォ (UTF8直接出力して…

YouTubeのタグ検索をしてタイトルとURLを表示するRubyスクリプト

YouTubeのタグ検索をしてタイトルとURLを表示するRubyスクリプトです。 準備 YouTubeのDeveloper IDを得る。 gem search youtube --remote (YouTube関連のgem探し) (略) youtube (0.8.6) (見つかった) (略) gem install youtube (インストールする) gem se…

Ruby on Railsインストールメモ

Install Ruby http://rubyforge.org/frs/?group_id=167 Download ruby186-26.exe Execute ruby186-26.exe Install RubyGems http://rubyforge.org/frs/?group_id=126 Download rubygems-1.3.1.zip unzip rubygems-1.3.1.zip cd rubygems-1.3.1 ruby setup.rb…

3の倍数と3のつく数字のときだけ…

Ruby 3の倍数と3のつく数字のときだけアホになるに触発されて。 (1..40).each do |k| if k % 3 == 0 puts "#{k} aho" elsif k.to_s.include?("3") puts "#{k} aho" else puts "#{k}" end end 実行結果です。 C:\work> ruby aho.rb 1 2 3 aho 4 5 6 aho 7 8 9…

パスワードを入力するとファイルを暗号化する簡単なRubyスクリプト

『新版暗号技術入門――秘密の国のアリス』が刊行されたので、暗号関連のプログラムを作りたくなりました。 以下、パスワードを入力するとファイルを暗号化する簡単なRubyスクリプトを紹介します。 1. cryptをインストールします。 C:\work> gem install crypt…

アイゲンクラス

…メタクラスがどうしたとかアイゲンクラスがどうしたという話になり… 2008-11-03 アイゲンクラスって何だっけ?と思ってじっと考え「きっと特異クラスのことだ」と見当をつけてから検索。 特異クラスの構文に関して以前考えていたメモが見つかった。 http://…

Rubyで円を描くパズル

問題 半径が与えられると、文字を使って円を描く関数print_circleを作れ。例えば、以下はprint_circle(10)の出力例。(正確に一致する必要はありません) ● ●●●●●●●●● ●●●●●●●●●●●●● ●●●●●●●●●●●●●●● ●●●●●●●●●●●●●●●●● ●●●●●●●●●●●●●●●●● ●●●●●●●●●●●●●●●●●…

Rubyで自己言及パズル

問題 実行すると、スクリプトの内容と同じ文字列が表示されるスクリプトを書いてください。 解答

Rubyで同値関係を求めるパズル

問題 xxxx=yyyy という形式のデータをたくさん受け取り、等しいもの同士をグルーピングするプログラムを書いてください。データは標準入力から与え、グルーピングした結果は { xxxx, yyyy } のように集合のような形式で標準出力に出すことにします。以下に入…

色見本を作るRubyスクリプト

http://d.hatena.ne.jp/hrkt0115311/20080715 を見て、私も作りたくなりました。仕様は少し変えています。 File.open('color.html', 'w') do |f| f.puts <<-HEADER_END <html> <head> <title>Color Table</title> </head> <body> <h1>Color Table</h1> <pre> HEADER_END code = [ '00', '33', '66', '99', 'CC', 'FF</pre></body></html>…

RubyGems Documentation Indexを読む(gem_server)

たとえば、gemでamazon-ecsパッケージをインストールします。 > gem install amazon-ecs Need to update 7 gems from http://gems.rubyforge.org ....... complete Successfully installed amazon-ecs-0.5.3 Installing ri documentation for amazon-ecs-0.5…

Rubyでニコニコ動画のダウンローダ

ニコニコ動画にアクセスするnicovideoパッケージをgemでインストールすると、sample/nv_download.rb というファイルも入手できます。それを読んで勉強。で、nv_download.rbをもとにしてnico.rbを書きました。nv_download.rbの劣化コピーですみません。でも、…

X.509証明書を表示するRubyスクリプト

証明書(公開鍵にデジタル署名を施したもの)を表示するRubyスクリプトです。ファイルbobby.cerに証明書が入っているものとします。 # show_cert.rb require 'openssl' cert = OpenSSL::X509::Certificate.new(File.open('bobby.cer')) print cert.to_text …

ファイルのSHA-1ダイジェスト値を表示するRubyスクリプト

コマンドラインで名前を指定したファイルのメッセージダイジェスト値(アルゴリズムはSHA-1)を表示するプログラムです。 # printsha1.rb require 'digest/sha1' FILENAME = ARGV[0] print Digest::SHA1.hexdigest(File.open(FILENAME, "rb").read), " ", FILE…

Amazon.co.jpの特定商品のランキングを調べるRubyスクリプト、再訪

「Amazon.co.jpの特定商品のランキングを調べるRubyスクリプト」を書いてみようと思いました。いまから作るのは「ASINのリストを元に、その本のタイトルと現在のランキングを表示する」というスクリプトです。 Amazon.co.jpの特定商品のランキングを調べるRu…

LaTeXのソースからすべての \command を抽出するスクリプト

『数学ガール/フェルマーの最終定理』の校正の都合上、LaTeXのソースからすべての \command を抽出するスクリプトを書きました。 # find_tex_commands.rb require 'pathname' commands = Array.new Pathname.glob("*.tex").each do |file| open(file, "r") …

Ruby 1.9.0 で tDiary を動かしてみる(トップページだけ)

http://www.machu.jp/diary/20071228.html#p01 まちゅさんによる記事。Ruby 1.8.5で動いていたtDiaryを1.9.0で動かす試み。 Rubyの違いに注目するだけではなく、トラブったときの調べ方、目の付け所を参考にするとよさげ。

Ruby-1.9.0 Windows Installer Package

お試しパッケージということでRuby-1.9.0を一式パッケージ化したMSIを提供します。 L'eclat des jours(2007-12-27) arton先生、ありがとう!

プログラミング言語Rubyの勉強会資料

わかりやすいRubyの資料。 http://dev.ariel-networks.com/articles/workshop/ruby/ via id:naoyaのブックマーク

JRubyが速くなっている?

JRubyが遅いという話は過去のものになるかもしれません。 http://recompile.net/2007/10/trunkjruby.html だそうです。わくわく。 追記: なひさんから情報(感謝)。 あらかたJRuby勝ってる。でもRoRで不思議なことが、というエントリが以下。エントリ内で…