まつもと ゆきひろです
In message "[ruby-list:5618] Re: bug in String#scan ??"
on 97/12/10, Yukihiro Matsumoto <matz / netlab.co.jp> writes:
|まつもと ゆきひろです
||ところで、ベータ発表後の Ver 1.0 => Ver 1.1 の変更点に関する
||文書はまだ出ていませんよね。b0 => b1 はあったけど。
|
|すいません.鋭意編集中です.
というわけでまとめておきます.洩れがあるかも
--
ruby 1.0 から 1.1 への変更点
言語仕様
* here document
print <<FOO
this is a test
FOO
* embedded document
=begin
this is a embedded document, just like comment.
=end
* break/next/redo/retryの予約語化
* 疑似変数true/falseの追加
* オプションの値を保持する変数群 $-?
* __END__は予約語ではない
* defined? はレシーバや引数もdefined?であるかチェックする
* { bgcolor->"black", fgcolor->"white" }なる連想配列の初期
化形式(まだ本採用ではない)
クラスライブラリ(一般)
* グローバル定数 NIL の追加
* クラス名の変更
NilClass/TrueClass/FalseClass
* TRUE.to_s: 'TRUE' -> 'true'
* Bignumの演算の高速化 - thanks えぐちさん
* expr =~ /RE/, /RE/ =~ exprのインライン化
* 定数はKernelでなくObjectに定義されるように
* 組込みクラスをObjectの定数に
* pack/unpackで`m'テンプレート(base64) - thanks わたなべさん
* kconvに文字コードを判定するメソッド Kconv#guess
* 例外と同じメッセージを出して終了してしまうabort()
* BEGIN/END.ただしBEGINは手抜き
* 非イテレータ版scanはマッチの配列を返すようになった ** 重要な非互換
* loadで先頭の`~'を展開する
* Perl5的正規表現 *? +? ?? {n,m}? (?:..) (?#..) (?=..) (?!..) \A \Z
* emacs的正規表現 \< \>
* MatchingData#[]の追加
* nil.to_a => []
* String#chomp
* IO#puts
* Moduleの属性定義メソッドattr_reader/attr_writer/attr_accessor
クラスライブラリ(メタレベル機能)
* Object#typeがクラスそのものを返す
* Class#superclassがクラスそのものを返す
* 無名クラス/無名モジュールの生成
Class.new/Module.new
* クラス/モジュールの情報を得るメソッドの追加
Module#constants, Module#const_get, Module#const_set Module#const_defined?
Module#methods, Module#method_defined?
* モジュールのスーパークラスとインクルードされたモジュール
群を(優先順位つきで)返すModule#ancestors
* クラス/モジュールの文脈でevalを行うmodule_eval
* オブジェクトの文脈でevalを行うinstance_eval
* 大域変数の一覧global_variables
* メソッドが定義された時に呼ばれるModule#method_added
* includeを実装するModule#append_features
* メソッドを取り除くModule#remove_method
* インスタンス変数を取り除くObject#remove_instance_method
インタプリタ実装の改善
* セキュリティチェックの強化
* いくつかのセキュリティホールの削除
* pipeで余分なfdをcloseする
* NUM2DBLマクロ
* T_DATAのfree procがプロセス終了時に呼ばれる
* プロセス終了時にfinalizerが呼ばれる
* tcltklibの採用(tcl,tkをリンクするように)
* メソッド追加時にクラス/モジュールのmethod_addedメソッド
が呼ばれる
* ソースツリーの外で拡張モジュールをコンパイルできるように
* rubyによるインストーラ