種類
- インスタンスメソッド (192)
- 文書 (100)
- ライブラリ (60)
- モジュール (18)
- クラス (13)
クラス
- BasicObject (60)
- Object (12)
-
Thread
:: Backtrace :: Location (12)
モジュール
- Enumerable (96)
- Kernel (12)
キーワード
- ! (12)
- != (12)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - == (12)
- Application (1)
- BasicObject (12)
- DelegateClass (12)
- Marshal フォーマット (12)
-
NEWS for Ruby 3
. 1 . 0 (4) - Observable (12)
-
Profiler
_ _ (6) -
base
_ label (12) -
cgi
/ session (12) -
instance
_ eval (24) - logger (12)
- max (48)
- min (48)
- rdoc (12)
-
rdoc
/ parser (12) -
rexml
/ parsers / streamparser (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 2 feature (12) -
ruby 1
. 8 . 4 feature (12) - クラス/メソッドの定義 (12)
- パターンマッチ (12)
- 演算子式 (12)
検索結果
-
Object
# initialize(*args , &block) -> object (18155.0) -
ユーザ定義クラスのオブジェクト初期化メソッド。
...トの動作ではなにもしません。
initialize には
Class#new に与えられた引数がそのまま渡されます。
サブクラスではこのメソッドを必要に応じて再定義されること
が期待されています。
initialize という名前のメソッドは自動......y]{
class Foo
def initialize name
puts "initialize Foo"
@name = name
end
end
class Bar < Foo
def initialize name, pass
puts "initialize Bar"
super name
@pass = pass
end
end
it = Bar.new('myname','0500')
p it
#=> initialize Bar
# initialize Foo
# #<Bar:0x2b68f08 @nam... -
ruby 1
. 8 . 4 feature (492.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...加
== 目次
* ((<ruby 1.8.4 feature/Ruby本体>))
* ((<ruby 1.8.4 feature/Symbol [bug]>))
* ((<ruby 1.8.4 feature/Symbol [bug]>))
* ((<ruby 1.8.4 feature/super [bug]>))
* ((<ruby 1.8.4 feature/正規表現 [bug]>))
* ((<ruby 1.8.4 feature/シグナル [bug]>))
* ((<ruby 1.8.4 feature/......>))
* ((<ruby 1.8.4 feature/UnboundMethod#bind [bug]>))
* ((<ruby 1.8.4 feature/set_trace_func [bug]>))
* ((<ruby 1.8.4 feature/set_trace_func [change]>))
* ((<ruby 1.8.4 feature/printf [bug]>))
* ((<ruby 1.8.4 feature/Hash [bug]>))
* ((<ruby 1.8.4 feature/test [bug]>))
* ((<ruby 1.8.4......))
* ((<ruby 1.8.4 feature/Module#const_missing [bug]>))
* ((<ruby 1.8.4 feature/IO [bug]>))
* ((<ruby 1.8.4 feature/添付ライブラリ>))
* ((<ruby 1.8.4 feature/"Ruby/Tk">))
* ((<ruby 1.8.4 feature/REXML [compat]>))
* ((<ruby 1.8.4 feature/TCPSocket#initialize [bug]>))
* ((<ruby 1.8... -
cgi
/ session (144.0) -
CGI のセッション管理を行うライブラリ。
...よって生成されたフォームフィールド値を、セッション ID として自動認識します。
CGI::HtmlExtension#form を使い、<INPUT TYPE="submit"> でページ遷移をするようにすれば、
クッキーが使えない環境でのセッション維持に利用できま......}
#=>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<BODY>
<FORM METHOD="post" ENCTYPE="application/x-www-form-urlencoded" action="/sample.rb">
<P>
あなたの名前は?
<INPUT NAME="name" SIZE="40" TYPE="text">
<INPUT NAME......れ
</FORM>
</BODY>
</HTML>
=== 使用例
ただ名前を入力するとあいさつをするだけのつまらない CGI スクリプト。
ソースコード
#!/usr/bin/ruby
require 'kconv'
require 'cgi'
require 'cgi/session'
class SessionDemo
def initialize... -
パターンマッチ (120.0)
-
パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples
...ase <expression>
in <pattern1>
...
in <pattern2>
...
in <pattern3>
...
else
...
end
in 節と when 節は1つの case 式の中に混ぜて書くことはできません。
『=>』 演算子と in 演算子で、単体の式で使用することも可能です。
<exp......ression> => <pattern>
<expression> in <pattern>
case/in 式は 「網羅的」 です。もし case 式の値がどの節にもマッチせず else 節がない場合、例外 NoMatchingPatternError が発生します。
そのため、条件付きのマッチや展開に case 式が使われ......ド(Hash パターン) を定義しているオブジェクトに対しても、マッチを試みます。
//emlist[][ruby]{
class Point
def initialize(x, y)
@x, @y = x, y
end
def deconstruct
puts "deconstruct called"
[@x, @y]
end
def deconstruct_keys(keys)
puts "decons... -
rdoc (114.0)
-
RDoc は Ruby のドキュメント生成を行うためのライブラリです。rdoc という ドキュメント生成のためのコマンドも含んでいます。
...のみが
処理されます。
===[a:usage] 使いかた
RDoc はコマンドラインから以下のようにして起動します。
$ rdoc <options> [name...]
ファイルをパースし、そこに含まれている情報を集め、出力します。こうして
全ファイルに渡る......成します。デフォルトでは --ri を指定すると
~/.rdoc に出力されますが、--ri-site で $datadir/ri/<ver>/site
に、--ri-system で $datadir/ri/<ver>/system に出力されます。これらす
べてはうしろに指定した --op を上書きします。デフォル......ew:
これはインスタンスメソッドの initialize にのみ適用できます。通常、
RDoc は initialize メソッドのドキュメントやパラメータを実際にはクラス
メソッド new のものと仮定し、initialize の代わりに new を出力しま
す。:no... -
パターンマッチ (90.0)
-
パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples
...マッチは in 演算子を用いて実装されており、単体の式や
<expression> in <pattern>
case 文の中で利用できます。
case <expression>
in <pattern1>
...
in <pattern2>
...
in <pattern3>
...
else
...
end
in 節と when 節は1つの case 式......た場合には、例外が発生する
puts "Connect with user '#{user}'"
# Connect with user 'admin'" と出力
//}
『<expression> in <pattern>』 は 『<expression>; in <pattern>; true; else false; end』 と等価です。
パターンにマッチするかどうかだけを知りたいとき......ド(Hash パターン) を定義しているオブジェクトに対しても、マッチを試みます。
//emlist[][ruby]{
class Point
def initialize(x, y)
@x, @y = x, y
end
def deconstruct
puts "deconstruct called"
[@x, @y]
end
def deconstruct_keys(keys)
puts "decons... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (72.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への......)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))
* ((<1.6.8から1.8.0への変更点(......加
: ((<Array#fetch|Array/fetch>)) [new]
追加
: ((<Array#insert|Array/insert>)) [new]
追加 ((<ruby-talk:14289>))
(({ary[n,0] = [other,...]})) と同じ(ただし self を返す)
=== Class
: ((<Class#allocate|Class/allocate>)) [new]
allocate と initialize の二つ... -
logger (66.0)
-
ログを記録するためのライブラリです。
...FATAL -- : No such file or directory @ rb_sysopen - a_non_existent_file (Errno::ENOENT)
logger_sample.rb:12:in `foreach'
logger_sample.rb:12:in `<main>'
これは log.level が Logger::WARN になっているためです。WARN、
ERROR、FATALログのみが記録の対象になります。DE......字列を指定
//emlist[][ruby]{
logger.error "Argument #{@foo} mismatch."
//}
3. プログラム名を指定
//emlist[][ruby]{
logger.info('initialize') { "Initializing..." }
//}
4. ログレベルを指定
//emlist[][ruby]{
logger.add(Logger::FATAL) { 'Fatal error!' }
//}
ブロック形式......by]{
logger.level = Logger::INFO
# DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN
//}
3. Symbol か String(大文字小文字の区別を行わない)
//emlist[][ruby]{
logger.level = :info
logger.level = 'INFO'
# :debug < :info < :warn < :error < :fatal < :unknown
//}
=== フォーマット......by]{
logger.level = Logger::INFO
# DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN
//}
3. Symbol か String(大文字小文字の区別を行わない)
//emlist[][ruby]{
logger.level = :info
logger.level = 'INFO'
# :debug < :info < :warn < :error < :fatal < :unknown
//}
4. コンストラクタ... -
ruby 1
. 6 feature (60.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) ->......Errno::EAGAIN
Errno::EWOULDBLOCK
=> ruby 1.6.8 (2002-12-24) [i586-linux]
Errno::EAGAIN
-:2: uninitialized constant EWOULDBLOCK at Errno (NameError)
=> ruby 1.6.8 (2003-02-13) [i586-linux]
Errno::EAGAIN
Errno::EAGAIN
=......-> 1.6.8 (2002-12-24)
: 2002-10-02: Thread (cygwin)
Cygwin で、Thread の切替えが行われないことがありました。
((<ruby-list:36058>)), ((<ruby-list:24637>))
: 2002-10-01: Socket (win)
Windows でのソケットの問題が1つ解決されたようです。(どのような... -
Marshal フォーマット (54.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...箇所でも使われます)は、
2種類の形式があります。
==== 形式 1
数値 n に対して
//emlist{
n == 0: 0
0 < n < 123: n + 5
-124 < n < 0: n - 5
//}
という数値(1 byte)を格納します。5 を足したり引いたりするのは下記の
形式 2 との区別の......式 1 の範囲を超える数値 N に対しては、以下の形式になります。
==== 形式 2
//emlist{
| len | n_1 | n_2 | n_3 | n_4 |
<-1-> <- len ->
byte bytes
//}
len の値は -4 〜 -1, 1 〜 4 で。符号と後続のデータが n1 〜 n_len
まである......hal_format#instance_variableも参照してください。
//emlist[例 2: インスタンス変数あり][ruby]{
class Foo < Array # (or String, Regexp, Hash)
def initialize(obj)
@foo = false
super(obj)
end
end
p Marshal.dump(Foo.new([true])).unpack("x2 a a a c a3 aca caca4 a")
# => ["...