96件ヒット
[1-96件を表示]
(0.035秒)
別のキーワード
キーワード
-
cgi
/ session (12) -
drb
/ extservm (12) -
drb
/ gw (12) - logger (12)
- rdoc (12)
-
rexml
/ parsers / streamparser (12) - tsort (12)
- yaml (12)
検索結果
-
yaml (229.0)
-
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
...造化された配列][ruby]{
require 'yaml'
data = ["Taro san", "Jiro san", "Saburo san"]
str_r = YAML.dump(data)
str_l = <<~YAML_EOT
---
- Taro san
- Jiro san
- Saburo san
YAML_EOT
p str_r == str_l # => true
//}
//emlist[例2: 構造化されたハッシュ][ruby]{
require 'yaml'
requ......] = {
"age" => 13,
"birthday" => Date.new(1992, 12, 21)
}
p str_r == YAML.load(str_l) # => true
//}
//emlist[例3: 構造化されたログ][ruby]{
require 'yaml'
require 'stringio'
strio_r = StringIO.new(<<~YAML_EOT)
---
time: 2008-02-25 17:03:12 +09:00
target: YAML
version: 4
log......=== タグの指定
!ruby/sym :foo などのようにタグを指定することで、読み込み時に記述した値
の型を指定できます。
//emlist[例][ruby]{
require 'yaml'
p YAML.load(<<~EOS)
---
!ruby/sym :foo
EOS
# => :foo
//}
yaml では、Ruby 向けに以下のローカ... -
rdoc (131.0)
-
RDoc は Ruby のドキュメント生成を行うためのライブラリです。rdoc という ドキュメント生成のためのコマンドも含んでいます。
...oc は Ruby のドキュメント生成を行うためのライブラリです。rdoc という
ドキュメント生成のためのコマンドも含んでいます。
このパッケージは RDoc と Markup というふたつのコンポーネントを含
んでいます。 RDoc とは Ruby の......関するドキュメントを
生成するとき、コメント部を変換するために使われます。
=== ロードマップ
* RDoc で Ruby のソースファイルに対するドキュメントを生成したければ、まずこの文章を読みましょう。
* Cで書かれた拡......のオプションに関する情報が得られます。
$ rdoc
このコマンドでカレントディレクトリ以下にあるすべての Ruby とCのソースか
らドキュメントを生成します。生成したドキュメントはカレントディレクトリ
直下の 'doc' と... -
logger (127.0)
-
ログを記録するためのライブラリです。
...った時には、
Logger オブジェクトのログレベルを DEBUG に下げるなどという使い方をします。
==== 例
//emlist[][ruby]{
require 'logger'
logger = Logger.new(STDOUT)
logger.level = Logger::WARN
logger.debug("Created logger")
logger.info("Program started")
logger.warn......うに指定
//emlist[][ruby]{
require 'logger'
logger = Logger.new(STDERR)
logger = Logger.new(STDOUT)
//}
2. ログファイル名を指定
//emlist[][ruby]{
require 'logger'
logger = Logger.new('logfile.log')
//}
3. File オブジェクトを指定
//emlist[][ruby]{
require 'logger'
file = F......行うように指定。
//emlist[][ruby]{
require 'logger'
# 約1,024,000バイトの"古い"ログファイルを10個残す
logger = Logger.new('foo.log', 10, 1024000)
//}
5. ログファイルの切り替えを daily/weekly/monthly に指定
//emlist[][ruby]{
require 'logger'
logger = Logger.... -
cgi
/ session (31.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......さつをするだけのつまらない CGI スクリプト。
ソースコード
#!/usr/bin/ruby
require 'kconv'
require 'cgi'
require 'cgi/session'
class SessionDemo
def initialize
@cgi = CGI.new
File.umask(0077) # セッションファ......ssion = CGI::Session.new(@cgi) # セッションはこうして生成する。
@cmd = "#{@cgi['cmd'].first}" # ruby 1.8 でも動くように(warning は出ます)
@cmd = 'start' if @cmd.empty?
@header = { "type" => "text/html", "charset" => "euc-jp"... -
drb
/ extservm (19.0) -
DRb::ExtServManager を定義しているライブラリ。
...ータに加えて
# さらに2つのパラメータ(サーバの druby URI とサービス名)が渡されます
DRb::ExtServManager.command["No1"] = %w(ruby service.rb service1)
DRb::ExtServManager.command["No2"] = %w(ruby service.rb service2)
# ExtServManager オブジェクトを生......w
DRb.start_service("druby://localhost:10234", s)
# drb のプロセスの終了を待つ
DRb.thread.join
service.rb:
require 'drb/drb'
require 'drb/extserv'
# サービスを表すクラス
class Service
include DRb::DRbUndumped
def initialize(service_name)
@se......る
# ポート番号に 0 を指定すると ephemeral port から適当なポート番号が
# 選ばれる
server = DRb::DRbServer.new("druby://localhost:0", front)
# ARGV の最後の2つと DRbServer オブジェクトを ExtServ.new に渡す。
# これによってブローカ... -
rexml
/ parsers / streamparser (19.0) -
ストリーム式の XML パーサ。
...ストであることに注意してください。
//emlist[][ruby]{
require 'rexml/parsers/baseparser'
require 'rexml/parsers/streamparser'
require 'rexml/streamlistener'
class Listener
include REXML::StreamListener
def initialize
@events = []
end
def text(text)
@events << "text[......ンプルです。
実体参照は定義済みのものを除いては変換処理されていないことなどが
わかります。
//emlist[][ruby]{
require 'rexml/parsers/baseparser'
require 'rexml/parsers/streamparser'
require 'rexml/streamlistener'
xml = <<EOS
<?xml version="1.0" encoding="... -
tsort (19.0)
-
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
...tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
=== Example
//emlist[][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
{1=>[2, 3],......== より現実的な例
非常に単純な `make' に似たツールは以下のように実装できます。
//emlist[][ruby]{
require 'tsort'
class Make
def initialize
@dep = {}
@dep.default = []
end
def rule(outputs, inputs=[], &block)
triple = [outputs, inputs, block]... -
drb
/ gw (13.0) -
drb 通信を中継するゲートウェイ(DRb::GW)と、 中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、 および DRb::DRbObject への拡張が含まれています。
...照してください。
* http://www2a.biglobe.ne.jp/~seki/ruby/drbssh.html
=== Example
この例は drb/gw.rb に含まれているものです。
foo.rb
require 'drb/drb'
class Foo
include DRbUndumped
def initialize(name, peer=nil)
@name = name
@peer = peer
end...