ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
Ruby の require について ( No.2 )
日時: 2010/01/24 02:16
名前: lightbox



	>Ruby ライブラリ をロードします
	要するに、ファイルを読み込んで Ruby として実行します
	( ※ 読み込むファイルのパーミッションが実行可能である必要はありません )
	
	>拡張子補完を行い、同じファイルの複数回ロードはしません
	これに関しては、以下の記述が参考になります


拡張子:
[require と load の違いについて]

require は同じファイルは一度だけしかロードしませんが、 
load は無条件にロードします。また、require は拡張子 
.rb や .so を自動的に補完しますが、load は行いません。
require はライブラリのロード、load は設定ファイルの
読み込みなどに使うのが典型的な用途です。
   パスに関しては以下のようにありますが、実際に検証したほうがいいと思います
拡張子:
相対パスのときは組み込み変数 $: に示されるパスを順番に探し、
最初に見付かったファイルをロードします。このとき、$: の
要素文字列の先頭文字が `~' (チルダ) だと、環境変数 HOME 
の値に展開されます
   $: は配列です。
拡張子:
#!/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]
   ruby_02.rb
拡張子:
#!/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
   if 文の then は書かなくても良いようです    ruby_view_head.rb
拡張子:
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