Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ruby考古学 
消された機能編ArchaeologyofRuby: 
RemovedFeatures 
Kazuhiro	NISHIYAMA 
RubyKaigi2014 
2014/09/19
Selfintroduction 
oneofRubyCommitters 
Mr.fixtypo(byChikanaga) 
IuseRubysince1.4
Agenda 
リリースに⼊った後、消された 
機能 Somefeaturesremovedafterrelease 
開発版のみに⼊っていた機能 Somefeaturesonlyindevelopmentbranch
SafeLevel 
isobsoletesince 
2.1.0 
不完全なSandBox 
SafeLevel自体の削除の話も何 
度かあった
Safelevel 
Feature#8468Remove 
$SAFE 
MatzagreedatGitHubTokyo 
drinkup(on2013) 
tDiary,whichistheonly 
applicationusing$SA...
SafeLevel 
isobsoletesince 
2.1.0 
raiseArgumentError
since1.9.1
isdeprecatedsince 
2.1.0 
itsbehaviorissameastaint
from	
 
securityreason 
sameas
doesnot 
containsince1.9.2 
use
instead
fromtoEncoding 
(m17n) 
#=nil#warning: 
variable$KCODEisno 
longereffective 
#warning:variable 
$KCODEisnolonger 
effectiv...
Regexpoptions 
Regexpliteraloptions 
(remains):
!
(ignorecase) 

 
ruby1.8.7:warning: 
modifying$=isdeprecated 
ruby1.9.3:warning:variable 
$=isnolongereffective; 
ignored
between1.6.7and1.8.0 
 →
!
→
!
→!#
→$%!#
!
→!#
until1.8 
 
' 
#
 
	 
:をつけられる隠し機能の削除
(
Upcoming SlideShare
Loading in …5
×

rubykaigi2014-ruby-removed-features ===================================

622 views

Published on

RubyKaigi 2014 での発表資料です。

  • Be the first to comment

rubykaigi2014-ruby-removed-features ===================================

  1. 1. Ruby考古学 消された機能編ArchaeologyofRuby: RemovedFeatures Kazuhiro NISHIYAMA RubyKaigi2014 2014/09/19
  2. 2. Selfintroduction oneofRubyCommitters Mr.fixtypo(byChikanaga) IuseRubysince1.4
  3. 3. Agenda リリースに⼊った後、消された 機能 Somefeaturesremovedafterrelease 開発版のみに⼊っていた機能 Somefeaturesonlyindevelopmentbranch
  4. 4. SafeLevel isobsoletesince 2.1.0 不完全なSandBox SafeLevel自体の削除の話も何 度かあった
  5. 5. Safelevel Feature#8468Remove $SAFE MatzagreedatGitHubTokyo drinkup(on2013) tDiary,whichistheonly applicationusing$SAFE==4, alsoagreed isafail-safefeatureto detectbugsofapplications
  6. 6. SafeLevel isobsoletesince 2.1.0 raiseArgumentError
  7. 7. since1.9.1
  8. 8. isdeprecatedsince 2.1.0 itsbehaviorissameastaint
  9. 9. from securityreason sameas doesnot containsince1.9.2 use instead
  10. 10. fromtoEncoding (m17n) #=nil#warning: variable$KCODEisno longereffective #warning:variable $KCODEisnolonger effective;ignored
  11. 11. Regexpoptions Regexpliteraloptions (remains):
  12. 12. !
  13. 13. (ignorecase) ruby1.8.7:warning: modifying$=isdeprecated ruby1.9.3:warning:variable $=isnolongereffective; ignored
  14. 14. between1.6.7and1.8.0 →
  15. 15. ! →
  16. 16. !
  17. 17. →!#
  18. 18. →$%!#
  19. 19. ! →!#
  20. 20. until1.8 ' # :をつけられる隠し機能の削除
  21. 21. (
  22. 22. )(recommend) (
  23. 23. )(deprecated) Ruby本体のメソッド名は出来るだ け三単現のsを付けない
  24. 24. Agenda リリースに⼊った後、消された 機能 Somefeaturesremovedafterrelease 開発版のみに⼊っていた機能Somefeaturesonlyindevelopmentbranch
  25. 25. SymbolStringin 2006(1.9.0-dev) SymbolがStringを継承してい た時期があった SymbolStringも⽌める。 caseとかでのバグをたくさん⽣ んでしまう http://www.rubyist.net/~matz/20061107.html#p03
  26. 26. SymbolString(cont.)
  27. 27. !#$%
  28. 28. '
  29. 29. $ !#$%
  30. 30. 継承は⽌めてもStringに似た扱 いは⼊った。
  31. 31. between1.8and1.9
  32. 32. cannotcallprivate methods
  33. 33. ,
  34. 34. * #+,
  35. 35. since1.9.1 privateメソッド呼び出し用途が多 く影響範囲が広いため元の挙動に
  36. 36. Realmulti-value (to̲splat) 1.9.x !
  37. 37. # (!= !-)(!= !) svalue,avalue,mvalue e.g..+/
  38. 38. Symbol.findin2.2.0-dev Symbol.find(str) -symbolornil Returntherelatedsymbolifthe symbolalreadyexists. Returnnilifnot. revision47543 RemovedbecauseofSymbolGC Ifyoustillwantthis,request againonRedmine.
  39. 39. statfsin2.2.0-dev $0
  40. 40. and''
  41. 41. https://bugs.ruby-lang.org/ issues/9772
  42. 42. fortests Rejectat DevelopersMeeting20140517 Japan 「Matz:⾊々込み⼊ってるのでcoreには⼊れないでtest配下 へ.欲しいということがあったらgemにしてください.」
  43. 43. Conclusion Somefeaturesonlyin developmentbranch Somefeaturescannot introducebecauseof compatibility

×