ruby 1.8.3 feature

ruby 1.8 系 snapshot での ruby 1.8.2 からの変更点です。

掲載方針

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

1.8.2 (2004-12-25) -> snapshot

2005-05-11

WEBrick::CGI#[] [lib] [new]
WEBrick::CGI#logger [lib] [new]
WEBrick::CGI#config [lib] [new]

2005-05-01

ruby -s option [ruby] [bug]

オプション -s でアクセスできないグローバル変数ができてしまうバグを修正 しました。- を _ に変換してグローバル変数を定義するようになりました。- 以外の 記号がふくまれる場合は、例外 NameError を投げます。

$ ruby-1.8.2 -se 'puts global_variables.grep(/foo/)' -- --foo-bar
$-foo-bar
$ ruby-1.8.3 -se 'puts global_variables.grep(/foo/)' -- --foo-bar
$_foo_bar

$ ruby-1.8.3 -se 'puts global_variables.grep(/foo/)' -- --foo\@bar    
-e: invalid name for global variable - --foo@bar (NameError)

2005-04-09

lib/rss [lib][new][compat]

複数のDublin Coreの要素を扱えるようになりました。

このためdc_#{Dublin Coreの要素名の複数形}というメソッドが導入されました。

互換性のために以前のdc_#{Dublin Coreの要素名の単数形}というメソッドも残されています。

2005-03-07

String#<=> [ruby][compat]

比較できないものを渡された時に false ではなく nil を返すようになりました。 [ruby-dev:25811]

$ ruby-1.8.2 -e 'p "a" <=> 1'
false 
$ ruby-1.8.3 -e 'p "a" <=> 1'
nil

2005-03-06

HTTPHeader#get_fields [lib][new]
HTTPHeader#add_field [lib][new]

追加。[ruby-list:40629]

2005-02-23

local variable and method [ruby][bug]

レシーバを指定したメソッド呼び出しが、同名のローカル変数の有無によっ て影響されるバグが修正されました。 [ruby-dev:25737] <URL:http://yowaken.dip.jp/tdiary/20050220.html#p01>

2005-02-17

defined? [ruby][bug]

defined?(@a = b)のような NODE_IASGN が nil ではなく "assignment" を返すようになりました。 [yarv-dev:418]

2005-02-14

OpenSSL::SSL::SSLSocket#post_connection_check [lib][new]

追加 [ruby-dev:25690]

2005-02-13

ERB::Util.html_escape [lib] [compat]
ERB::Util.url_encode [lib] [compat]

モジュール関数としても使えるようになりました。[ruby-dev:25687]

2005-02-12

open-uri.rb [lib] [new]

https をサポートするようになりました。

2005-02-11

URI::HTTP#proxy_open [lib][new]

:http_basic_authentication オプションの追加 [ruby-core:4416]

OpenSSL::X509::Store#set_default_paths [lib][new]

追加 [ruby-dev:25670]

2005-02-06

Resolv::DNS::Resource::TXT#strings [lib] [new]
Resolv::DNS::Message::MessageEncoder#put_string_list [lib] [new]
Resolv::DNS::Message::MessageDecoder#get_string_list [lib] [new]

追加。[ruby-talk:129732]

2005-02-04

RSS Parser/Maker [lib] [new]

Imageモジュールのサポート

2005-02-03

RSS::Element#convert(value) [lib] [new]

valueのエンコーディングを変換するメソッドを公開。

valueのエンコーディングは要素の内部エンコーディングからoutput_encoding=で設定したエンコーディングへ変換されます。

StringIO [lib] [compat]

close, close_read, close_write が IO と同じように、 nil を返すようになりました。[ruby-dev:25623]

2005-01-29

Resolv::DNS::Resource::IN::SRV [lib] [new]

追加 (RFC2782)

2005-01-26

File#flock [ruby] [bug]

Windows 上での File#flock(File::LOCK_UN) が正しく理解されないバグが 修正されました。[ruby-dev:25574]

2005-01-25

RUBYOPT [ruby] [bug]

環境変数 RUBYOPT の -T オプションを適切に解釈するようになりました。 またハイフン - を省略できるようになりました。[ruby-dev:25512]

$ env RUBYOPT='Ke rnet/http' ruby  -e 'p Net::HTTP'  
Net::HTTP

2005-01-17

WEBrick::Config::SSL [lib] [compat]

オプション :SSLEnable のデフォルトが false になりました。

WEBrick::HTTPUtils#escape_path [lib] [new]

2005-01-15

RSS::VERSION [lib]

0.1.2 -> 0.1.3

RSS::Parser [lib] [bug]

継承するとエラーになるバグを修正。 [ruby-talk:126104]

2005-01-13

IO

don't warn nonblocking behavior by default [ruby-dev:25443]

2005-01-12

Class#superclass [ruby] [bug]

特異クラスのメソッド superclass が特異クラスを返すように修正されました。 [ruby-list:40519]

2005-01-09

IO#read [obsolete]
IO#readpartial [new]

nonblocking IO に対する IO#read の挙動は 1.9 で変化するため、1.8 で警告が行われるようになりました。 そしてその代替手段として IO#readpartial が追加されました。 [ruby-dev:25430]

2005-01-05

srand(bignum) [compat]

srand が引数として unsigned long よりも大きな値も受け付けるようになりました。

rand(bignum) [bug]

負の Bignum を受け取っても 正の Bignum を返すようになりました。

2005-01-03

srand [compat]

引数を与えない場合、可能なら /dev/urandom を参照するようになりました。[ruby-dev:25392]



rubyist ML