とりあえずRubyをCGIではじめてみた
なんでRuby
そのうちお仕事でRubyOnRailsの勉強をしないといけないようなので、とりあえずRuby構文をCGIでお勉強。RubyOnRailsやるっていってもRubyが分からないとお話にならなそうなので
※ちなみに僕はPHPだけちょっと分かるます
print関数でダブルクォーテーション内の変数の置き換え方法
たいとる難しいわ
Rubyだと#{hogehoge}ということで
tmp_text = "太い文字だよ" print "<b>#{tmp_text}</b>"
PHPだと
$tmp_text = "太い文字だよ"; print "<b>{$tmp_text}</b>"; # あんまり使われない? print "<b>${tmp_text}</b>"; # これもあんまり使われない? print "<b>$tmp_text</b>"; # これが多い?
んな感じ
文字列をhtmlエスケープしたい
Rubyだと
require "cgi" cgi = CGI.new print CGI.escapeHTML("<b>あはは</b>")
こんな感じらしい(もしかしたら無駄なことしてるかも)
PHPだと
echo htmlspecialchars("あいうえお");
かな
ただ、エスケープされる文字種が異なる
□エスケープされる文字
Ruby | CGI.escapeHTML() | ", <, >, & |
PHP | htmlspecialchars() | ', ", <, >, & |
すんげーわかりづらい表だけど、RubyのescapeHTML()はシングルクォーテーションがエスケープされないみたい。
なんかうまいこと出来るのかな?
ファイルの読み出し
Rubyだと
fh = open(FILENAME, "r") fh.each{|text| print text } fh.close
PHPだと
$fh = fopen(FILENAME, "r") while( ! feof( $fh ) ){ echo fgets( $fh ); } fclose($fh);
ざっくりこんな感じ?
参考サイト
□http://rubycgi.org/cgi_explanation/index.htm
→分かりやすい&見やすい
□プログラミング言語 Ruby リファレンスマニュアル
→Rubyのライブラリ - ドキュメント