@C:green(>Ruby ライブラリ をロードします)
要するに、ファイルを読み込んで Ruby として実行します
( ※ 読み込むファイルのパーミッションが実行可能である必要はありません )
@C:green(>拡張子補完を行い、同じファイルの複数回ロードはしません)
これに関しては、以下の記述が参考になります
@DIV
[require と load の違いについて]
require は同じファイルは一度だけしかロードしませんが、
load は無条件にロードします。また、require は拡張子
.rb や .so を自動的に補完しますが、load は行いません。
require はライブラリのロード、load は設定ファイルの
読み込みなどに使うのが典型的な用途です。
@END
[[パスに関しては以下のようにありますが、実際に検証したほうがいいと思います]]
@DIV
相対パスのときは組み込み変数 $: に示されるパスを順番に探し、
最初に見付かったファイルをロードします。このとき、$: の
要素文字列の先頭文字が `~' (チルダ) だと、環境変数 HOME
の値に展開されます
@END
http://r205.jf.land.to/ruby/ruby_path.rb($: は配列です。)
@DIV
#!/usr/local/bin/ruby
print "Content-type: text/html; Charset=shift_jis\n\n"
# 標準エラー出力の出力先を標準出力に変更
$stderr = $stdout
load "ruby_view_head.rb"
p $:
print "<br>"
print ($:).length
print "<br>"
print $:[0]
@END
[[ruby_02.rb]]
@DIV
#!/usr/local/bin/ruby
print "Content-type: text/html; Charset=shift_jis\n\n"
# 標準エラー出力の出力先を標準出力に変更
$stderr = $stdout
load "ruby_view_head.rb"
if (ENV['REQUEST_METHOD']).downcase == 'get'
print "初期画面です<br>"
else
print "入力がありました<br>"
end
@END
@C:red(if 文の then は書かなくても良いようです)
[[ruby_view_head.rb]]
@DIV
print <<LABEL
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<style type="text/css">
* {
margin: 0;
}
</style>
</HEAD>
<BODY>
LABEL
@END
|