Archaeology of Ruby: Removed Features Ruby

Archaeology of Ruby: Removed Features Ruby

RubyKaigi 2014 での発表資料です。

D0260637093bc53a82195678fd2ba4c3?s=128

Kazuhiro NISHIYAMA

September 19, 2014
Tweet

Transcript

  1. Ruby�考古学� �消された機能編 Archaeology�of�Ruby:� �Removed�Features Kazuhiro�NISHIYAMA RubyKaigi2014 2014/09/19

  2. Self�introduction one�of�Ruby�Committers Mr.�fix�typo�(by�Chikanaga) I�use�Ruby�since�1.4

  3. Agenda リリースに⼊った後、消された 機能� Some�features�removed�after�release 開発版のみに⼊っていた機能� Some�features�only�in�development�branch

  4. Safe�Level ��������is�obsolete�since� 2.1.0 不完全な�Sand�Box Safe�Level�自体の削除の話も何 度かあった

  5. Safe�level Feature�#8468�Remove� $SAFE Matz�agreed�at�GitHub�Tokyo� drinkup�(on�2013) tDiary,�which�is�the�only� application�using�$SAFE�==�4,� also�agreed ����������is�a�fail-safe�feature�to� detect�bugs�of�applications

  6. Safe�Level ��������is�obsolete�since� 2.1.0 raise�ArgumentError ��������since�1.9.1 ��������is�deprecated�since� 2.1.0 its�behavior�is�same�as�taint

  7. ����from����������� security�reason same�as������does�not� contain����since�1.9.2 use������������������instead

  8. ������ from��������to�Encoding� (m17n) �������#=>�nil�#�warning:� variable�$KCODE�is�no� longer�effective ��������#�warning:�variable� $KCODE�is�no�longer� effective;�ignored

  9. Regexp�options Regexp�literal�options� (remains)�:������������ ������������������������������������� ����������������������������������� ���������������������������������������� ����������������������������������

  10. ���(ignore�case) ��������� ruby�1.8.7:�warning:� modifying�$=�is�deprecated ruby�1.9.3:�warning:�variable� $=�is�no�longer�effective;� ignored

  11. ������� between�1.6.7�and�1.8.0 ���������→�������� ���������→�������� ���������→�������������� ���������→������������� ���������→��������������

  12. �������� until�1.8 �������� �������� ��� :�をつけられる隠し機能の削除

  13. ������������ �������������(recommend) �������������(deprecated) Ruby�本体のメソッド名は出来るだ け三単現のsを付けない ��������������������� ��������������������������������������� �������������������������������

  14. Agenda リリースに⼊った後、消された 機能� Some�features�removed�after�release 開発版のみに⼊っていた機能 Some�features�only�in�development�branch

  15. Symbol�<�String�in� 2006�(1.9.0-dev) Symbol�が�String�を継承してい た時期があった Symbol�<�Stringも⽌める。 caseとかでのバグをたくさん⽣ んでしまう http://www.rubyist.net/~matz/20061107.html#p03

  16. Symbol�<�String�(cont.) ����������� ���������� ������������������������������������������������� ����������������������������� ����������� ���������������� ����������������������������� 継承は⽌めても�String�に似た扱 いは⼊った。

  17. ������ between�1.8�and�1.9 ���������cannot�call�private� methods ������,�������� ������������since�1.9.1 private�メソッド呼び出し用途が多 く影響範囲が広いため元の挙動に

  18. Real�multi-value� (to̲splat) 1.9.x ���������(!=�������)�(!=�����) svalue,�avalue,�mvalue e.g.��������������

  19. Symbol.find�in�2.2.0-dev Symbol.find(str)� �->�symbol�or�nil Return�the�related�symbol�if�the� symbol�already�exists. Return�nil�if�not. revision�47543 Removed�because�of�Symbol�GC If�you�still�want�this,�request� again�on�Redmine.

  20. statfs�in�2.2.0-dev ����������and������������� https://bugs.ruby-lang.org/ issues/9772 ��������������for�tests Reject�at� DevelopersMeeting20140517 Japan 「Matz:�⾊々込み⼊ってるので�core�には⼊れないで�test�配下 へ.�欲しいということがあったら�gem�にしてください.」

  21. Conclusion Some�features�only�in� development�branch Some�features�cannot� introduce�because�of� compatibility