Tag Archives: Ruby

Linux: RedmineとSubversionのインストール・設定例

Linux(ここではCentOS)にプロジェクト管理ソフトウェアであるRedmineとバージョン管理システムであるSubversionのインストール方法と設定例を以下に紹介。想定としては、WebサーバやDB以外は何も設定 … Continue reading

Posted in Linux | Tagged , , , , | Leave a comment

JavaとRubyで文字列の終端の扱いの違い

RubyのコードをJavaに書き直す際に注意する相違点が幾つかあったので、そのうちの一つを挙げてみます。特に文字列関係は色々やりにくいです。 a = “4321″ p a[4] #=> nil Rubyでは文字を[]で指 … Continue reading

Posted in Java, Ruby | Tagged , , , | Leave a comment

Webページから指定したタグの要素を抜き出すRuby関数

単一のWebページから抜き出した複数の要素を配列に格納して返します。 以下の例はaタグの要素(エレメント)を抽出した場合です。 Rubyコード require 'net/http' require & … Continue reading

Posted in Ruby | Tagged , , , | Leave a comment

タグの中の要素を抜き出すRuby関数

ライブラリを使えば簡単ですが、正規表現の学習の為に。 ソースコード def return_between(unporsed, start, termi) unporsed =~ /#{start}(.*?)#{termi … Continue reading

Posted in Ruby | Tagged , | 1 Comment

POSTメソッドを用いてExcite翻訳を行うRubyコード

しかし、未完です。 Webの巡回などにはWWW::Mechanizeという便利なライブラリがありますが、あえてnet/httpのPOSTメソッドを使う理由は、単にPOSTそのものと正規表現の学習をするためです。 今回は正 … Continue reading

Posted in Ruby | Tagged , , | Leave a comment

Rubyで引数の設定値によって4パターンの部分文字列を取得するラッパー関数

引数に設定値を与え、それによって挙動を変えることで、似た機能をまとめてみます。 追記(2008.2.8):正規表現のマッチを保持する変数があったことを失念していました。「$`」マッチした部分より前の文字列、「$& … Continue reading

Posted in Ruby | Tagged , , | Leave a comment

Ruby: メソッドの引数にブロックを渡す

ブロックの使い方を練習してみます。 def repeat(n) n.times { yield } if block_given? end repeat(2) { puts “Hello.” } # Hello. # H … Continue reading

Posted in Ruby | Tagged , | Leave a comment

Ruby: lambdaメソッドを使いブロックをオブジェクト化

に関して、練習します。 他の言語と比較してRubyのコードブロックの扱いは特徴的で扱い難そうに見えますが、使いこなせればコード量を減らせるし、その結果として可読性も増すので、慣れていきたいです。 def times_n( … Continue reading

Posted in Ruby | Tagged | Leave a comment

Rubyで文字列から日本語文字をインデックス指定する

RubyのStringインスタンスに格納されている文字列のインデックスを得るにはchrメソッドを用います。 ソースコード # chrは文字コードObjを文字列Objに変換するメソッド str1 = “abcdef” p … Continue reading

Posted in Ruby | Tagged , , , | Leave a comment

チャットログから本文を抽出

先日、メッセンジャーのチャットで会話するボットを作りました。 そのボットに「学習」させるネタに、会話文であるWindows Live Messengerのチャットログを用いることにしました。しかし、ログはXML形式なので … Continue reading

Posted in Ruby | Tagged , , , | Leave a comment