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スクリプト makepass.rb を作りました。無保証ですので、使いたい方は自己責任で。 # makepass.rb require 'io/console' require 'digest/sha2' require 'base64' require 'win32/clipboard' Win32::Clipboard.set_data('') STDIN.n…
最近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…
結城浩(id:hyuki)さんが『数学ガール/ガロア理論』をLaTeXで書いているときに使っていたRubyスクリプトです。 Windowsで動作することを仮定しています。 やっていることは、 一時的なディレクトリを作成し、 カレントディレクトリの下のファイルを全部そこ…
祝! 軽量Rubyが公開を参考にさせていただいて、Windows XPでmrubyをビルドして動かしてみました。 mrubyの入手。 gitはWindows上でインストールしてあるとします。 git clone https://github.com/mruby/mruby.git でソースコードを得ます。 cygwinのインスト…
すでに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を動かして、表示されたURLをブラウザで見る」らしいです) たとえば、Rubyで「はてなブックマーク」を使っ…
準備。 C:\> gem install twitterスクリプト。 require 'twitter' require 'kconv' Twitter::Search.new().from('hyuki').each do |r| puts r["text"].tosjis end
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に変換する例。 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のDeveloper IDを得る。 gem search youtube --remote (YouTube関連のgem探し) (略) youtube (0.8.6) (見つかった) (略) gem install youtube (インストールする) gem se…
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…
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スクリプトを紹介します。 1. cryptをインストールします。 C:\work> gem install crypt…
…メタクラスがどうしたとかアイゲンクラスがどうしたという話になり… 2008-11-03 アイゲンクラスって何だっけ?と思ってじっと考え「きっと特異クラスのことだ」と見当をつけてから検索。 特異クラスの構文に関して以前考えていたメモが見つかった。 http://…
問題 半径が与えられると、文字を使って円を描く関数print_circleを作れ。例えば、以下はprint_circle(10)の出力例。(正確に一致する必要はありません) ● ●●●●●●●●● ●●●●●●●●●●●●● ●●●●●●●●●●●●●●● ●●●●●●●●●●●●●●●●● ●●●●●●●●●●●●●●●●● ●●●●●●●●●●●●●●●●●…
問題 実行すると、スクリプトの内容と同じ文字列が表示されるスクリプトを書いてください。 解答
問題 xxxx=yyyy という形式のデータをたくさん受け取り、等しいもの同士をグルーピングするプログラムを書いてください。データは標準入力から与え、グルーピングした結果は { xxxx, yyyy } のように集合のような形式で標準出力に出すことにします。以下に入…
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>…
たとえば、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…
ニコニコ動画にアクセスするnicovideoパッケージをgemでインストールすると、sample/nv_download.rb というファイルも入手できます。それを読んで勉強。で、nv_download.rbをもとにしてnico.rbを書きました。nv_download.rbの劣化コピーですみません。でも、…
証明書(公開鍵にデジタル署名を施したもの)を表示するRubyスクリプトです。ファイルbobby.cerに証明書が入っているものとします。 # show_cert.rb require 'openssl' cert = OpenSSL::X509::Certificate.new(File.open('bobby.cer')) print cert.to_text …
コマンドラインで名前を指定したファイルのメッセージダイジェスト値(アルゴリズムはSHA-1)を表示するプログラムです。 # printsha1.rb require 'digest/sha1' FILENAME = ARGV[0] print Digest::SHA1.hexdigest(File.open(FILENAME, "rb").read), " ", FILE…
「Amazon.co.jpの特定商品のランキングを調べるRubyスクリプト」を書いてみようと思いました。いまから作るのは「ASINのリストを元に、その本のタイトルと現在のランキングを表示する」というスクリプトです。 Amazon.co.jpの特定商品のランキングを調べるRu…
『数学ガール/フェルマーの最終定理』の校正の都合上、LaTeXのソースからすべての \command を抽出するスクリプトを書きました。 # find_tex_commands.rb require 'pathname' commands = Array.new Pathname.glob("*.tex").each do |file| open(file, "r") …
http://www.machu.jp/diary/20071228.html#p01 まちゅさんによる記事。Ruby 1.8.5で動いていたtDiaryを1.9.0で動かす試み。 Rubyの違いに注目するだけではなく、トラブったときの調べ方、目の付け所を参考にするとよさげ。
お試しパッケージということでRuby-1.9.0を一式パッケージ化したMSIを提供します。 L'eclat des jours(2007-12-27) arton先生、ありがとう!
わかりやすいRubyの資料。 http://dev.ariel-networks.com/articles/workshop/ruby/ via id:naoyaのブックマーク
JRubyが遅いという話は過去のものになるかもしれません。 http://recompile.net/2007/10/trunkjruby.html だそうです。わくわく。 追記: なひさんから情報(感謝)。 あらかたJRuby勝ってる。でもRoRで不思議なことが、というエントリが以下。エントリ内で…