Ruby

2007年03月22日

Ruby on Railを使った開発案件

Ruby on Railを使った開発案件が舞い込んできました。ということで、最近滞り気味だったRubyの勉強を再開します。

2007年03月08日

Ruby on Railがんばってます。

とりあえず3日目まで終わりました。
先は長いです_no

2007年03月07日

Ruby on Railsは運用環境が問題だ。

Ruby on Railsは運用環境が大変そうです。

Railsの初期化に時間がかかるため、通常のCGIとして動作させた場合は応答が悪く、負荷も大きくなってしまうそうです。専用サーバを借りればどうにでもなるのですが、月1万円程度の出費となってしまい手軽とはいえません。

Ruby on Rails用の安いレンタルサーバないのかなぁ。


昨日買ってきたかんたんRuby on RailsでWebアプリケーション開発
は、0日目〜2日目まで終わりました。疲れたので続きは明日以降にやります。

2007年03月06日

Ruby on Rails

Ruby on Railsの解説書を買ってきました。
かんたんRuby on RailsでWebアプリケーション開発


2007年03月05日

初めてのRuby その3

htmlをエンコード
ソースコードを貼り付ける場合は&,",<,>の4つの記号をエンコードしなければなりません。このエンコード作業を行うプログラムを書いてみました。

1: from = ['&', '"', '<', '>'];
2: to = ["&amp;", "&quot;", "&lt;", "&gt;"];
3: while ( line = gets )
4: line.scan(/./) { |c|
5: done = false
6: for index in 0..3
7: if c==from[index] then
8: print to[index]
9: done = true;
10: end
11: end
12: unless done
13: print c
14: end
15: }
16: puts
17: end



初めてのRuby その2

前回に引き続きRubyに関する記事です。

型変換
puts 1+"2".to_i
puts "1"+2.to_s

実行結果
12
3

.to_i ⇒ 整数型に変換
.to_s ⇒ 文字列型に変換

条件分岐
1: num = gets.to_i
2: if num==0
3: puts "0"
4: elsif num>0
5: puts "正"
6: else
7: puts "負"
8: end


実行結果
C:\ruby\train>iftest
10


C:\ruby\train>iftest
-10


C:\ruby\train>iftest
0
0


else if ではなく、elsifと書くようです。

forループ
1: for i in [1, 2, 3, 4, 5]
2: puts i*i
3: end

実行結果
1
4
9
16
25


メソッドの定義(1)
defを使うことでメソッドを作成できるようです。
1: def sayHello
2: puts "Hello World!!"
3: end
4:
5: sayHello

実行結果
Hello World!!


メソッドの定義(2)
以下のようにすれば引数を渡せるようです。
1: def sayHello(n)
2: for i in 1..n
3: puts "Hello World!!"
4: end
5: end
6:
7: sayHello(5)

実行結果
Hello World!!
Hello World!!
Hello World!!
Hello World!!
Hello World!!


配列
forループの説明で既に使っているが配列は次のように表記する。
[0,1,2,3,4,5]

これは、6つの整数を要素とする配列だ。配列の要素へのアクセスはC言語などと同様に行える。
1: array=[0,1,2,3,4,5]
2: puts array[0]
3: puts array[2]
4: puts array[4]

実行結果
0
2
4


連想配列
{}を使うと連想配列を定義できるようだ。
1: map={"japan"=>"日本","us"=>"米国"}
2: puts map["japan"]

実行結果
日本



初めてのRuby その1

近頃話題のRubyを使ってみようと思う。

作業環境は
OS: WindowsXP
CPU: Core2Duo 1.86GHz
RAM: 1536MB
のノートパソコンである。

まず、
RubyForgeから最新バージョン(1.8.5-24)のインストーラをダウンロードし、ローカルの環境にインストールした。

デフォルトの設定で拡張子rbがrubyと関連付けられるようで、ダブルクリックするだけでサンプルプログラムを実行できた。

早速プログラムを作ってみることにする。

Hello World
とりあえず、定番プログラムを書いてみた。
puts "Hello world!!"

実行結果
Hello world!!


四則演算(1)
puts 3+2
puts 3-2
puts 3*2
puts 3/2

実行結果
5
1
6
1

整数型同士で計算すると結果も整数型になるようだ。

四則演算(2)
puts 3+2.0
puts 3-2.0
puts 3*2.0
puts 3/2.0

実行結果
5.0
1.0
6.0
1.0

異なる型動詞で計算すると大きな方が優先されるようだ。

値の入力
msg = gets
puts msg

実行結果
hoge←入力した部分
hoge←出力された部分


getsを使うことでプログラムの実行中に値の入力ができるようだ。

値の入力(ループ)
while ( msg = gets )
puts msg
end

実行結果
hoge←入力した部分
hoge←出力された部分
hige←入力した部分
hige←出力された部分
hage←入力した部分
hage←出力された部分


whileループで囲むことで入力を繰り返して受け付けるようになった。また、コマンドライン引数にファイル名を指定するとそのファイルの中身を入力として受け付けるようだ。

引数にファイル名を指定した例
C:\ruby\train>echo.rb echo.rb
while ( msg = gets )
puts msg
end


行番号追加プログラム
i=0;
while ( msg = gets )
i=i+1;
puts i.to_s+": "+msg
end

実行結果

C:\ruby\train>num.rb num.rb
1: i=0;
2: while ( msg = gets )
3: i=i+1;
4: puts i.to_s+": "+msg
5: end


たったこれだけの行数で実用性のあるプログラムが書けるとは驚きだ。

Recent Comments
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

「最新トラックバック」は提供を終了しました。