250件ヒット
[201-250件を表示]
(0.078秒)
別のキーワード
クラス
-
Psych
:: Visitors :: YAMLTree (11) - String (22)
- Symbol (10)
モジュール
-
GC
:: Profiler (11) - Kernel (33)
キーワード
- MonitorMixin (11)
-
NEWS for Ruby 2
. 1 . 0 (11) -
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) - caller (33)
-
cgi
/ session (11) - drb (11)
-
end
_ with? (16) - optparse (11)
-
raw
_ data (11) -
rexml
/ parsers / sax2parser (11) -
rexml
/ parsers / streamparser (11) -
rexml
/ parsers / ultralightparser (11) -
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) -
start
_ with? (16) -
webrick
/ cgi (11) - セキュリティモデル (11)
検索結果
-
rexml
/ parsers / streamparser (114.0) -
ストリーム式の XML パーサ。
...StreamParserの例
この例では tag_start と text をオーバーライドして
開始タグとテキストの情報を受け取れるようにしています。
空白や改行もテキストであることに注意してください。
//emlist[][ruby]{
require 'rexml/parsers/baseparser'
re......されていないことなどが
わかります。
//emlist[][ruby]{
require 'rexml/parsers/baseparser'
require 'rexml/parsers/streamparser'
require 'rexml/streamlistener'
xml = <<EOS
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/css" href="style.css"?>
<!DOCTYPE root SYSTE......l-symbol.ent">
%HTMLsymbol;
]>
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://example.org/bar"><![CDATA[cdata is here]]>
<a foo:att='1' bar:att='2' att='<'/>
&& <!-- comment here--> &bar;
</root>
EOS
class Listener
def method_missing(name, *args)
p [name, *a... -
cgi
/ session (96.0) -
CGI のセッション管理を行うライブラリ。
...い環境でのセッション維持に利用できます。
#!/usr/bin/ruby
require 'cgi'
require 'cgi/session'
cgi = CGI.new('html3')
File.umask(0077)
session = CGI::Session.new(cgi)
cgi.out('charset'=>'euc-jp') {
html = cgi.html {
cgi.head { cgi.title {'Form Demo'} }......# ruby 1.8 でも動くように(warning は出ます)
@cmd = 'start' if @cmd.empty?
@header = { "type" => "text/html", "charset" => "euc-jp" }
__send__("cmd_#{@cmd}")
end
def cmd_start
@cgi.out(@header) {
<<-END
<html><h......NV['SCRIPT_NAME'])}">[戻る]</a></p>
</body></html>
END
}
end
end
SessionDemo.new
=== 参考URL
* http://www.shugo.net/article/webdb2/#label:13
* http://www.modruby.net/doc/faq.ja.jis.html#label-13
* http://www.ruby-doc.org/stdlib/libdoc/cgi/rdoc/index.html... -
webrick
/ cgi (78.0) -
一般の CGI 環境で webrick ライブラリのサーブレットと同じように CGI スクリプトを書くための ライブラリです。サーバが WEBrick でなくても使うことが出来ます。
...を定義することによって CGI スクリプトを書きます。
スクリプトの最後で WEBrick::CGI#start メソッドを呼ぶ必要があります。
WEBrick::CGI#start メソッドは service メソッドを呼び出し、service メソッドはリクエストに応じて
do_XXX......トは実行されます。
例:
#!/usr/local/bin/ruby
require 'webrick/cgi'
class MyCGI < WEBrick::CGI
def do_GET(req, res)
res["content-type"] = "text/plain"
ret = "hoge\n"
res.body = ret
end
end
MyCGI.new.start()
==== do_XXX メソッド
do_XXX メソッドの XXX......class MyCGI < WEBrick::CGI
def do_GET(req, res)
req.content_length
req.content_type
req.path_info
req.query_string
req.peeraddr
req.host
req.user
req.request_method
req.script_name
req.port
end
end
MyCGI.new.start()
=== リンク
* 3875... -
rexml
/ parsers / ultralightparser (66.0) -
パース結果を配列で作られた木構造により返すパーサ。
...は以下のような配列で表現されます。
: [:start_element, 親ノード, 要素名, 属性, *子ノード]
XML要素。属性は { 属性名文字列 => 属性値文字列 } という Hash。
子ノードの配列は node[4..-1] で得られる。
: [:text, 正規化文字列]
テ......I)
: [:comment ,コメント文字列]
コメント
: [:start_doctype, 親ノード, ルート要素名, "SYSTEM" | "PUBLIC" | nil, システム識別子 | nil, 公開識別子 | nil, *子ノード]
DTD。子ノードの配列は node[6..-1] で得られる。
: [:attlistdecl, 要素名, 属性......[][ruby]{
require 'rexml/parsers/ultralightparser'
require 'pp'
parser = REXML::Parsers::UltraLightParser.new(<<XML)
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<a n="1">xyz</a>
<b m="2" />
</root>
XML
pp parser.parse
# >> [[:xmldecl, "1.0", "UTF-8", nil],
# >> [:text, "\n"],
# >> [:start_e... -
MonitorMixin (60.0)
-
スレッドの同期機構としてのモニター機能を提供するモジュールです。
...//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin) # 配列にモニタ機能を追加
empty_cond = buf.new_cond # 配列が空であるかないかを通知する条件変数
# consumer
Thread.start do
loop do
buf.synchronize do # ロッ......ります。
上の例のように Object#extend を使って利用する場合は
自動的に初期化されます。
//emlist[extend する例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin)
//}
しかし、MonitorMixin をクラス定義の際に Module#include を使って
利用......必要があります。
//emlist[include する例][ruby]{
require 'monitor'
class MyObject
include MonitorMixin
def initialize(val)
super()
@value = val
end
def to_s
synchronize {
@value.to_s
}
end
end
//}
以下も参考になります。
* 9384
* 9386...