[ruby-dev:50455] [Ruby trunk Feature#14417] String#sub / String#gsub に『キーが Symbol の Hash』を渡せるようにする提案
From:
hanmac@...
Date:
2018-01-31 11:17:24 UTC
List:
ruby-dev #50455
SXNzdWUgIzE0NDE3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgSGFubWFjIChIYW5zIE1hY2tvd2lhayku CgoKQGR1ZXJzdDogd2hhdCBhYm91dCBteSBleGFtcGxlIHdoZXJlIGl0IGRvZXMgdHJhbnNmb3Jt IHRoZSBrZXllIGludGVybmFsIGZvciB0aGUgZ2l2ZW4gSGFzaD8Kb3IgaXMgdGhhdCBhIG5vbm8g dG9vPwppdCBtaWdodCBiZSBwb3NzaWJsZSB0byBvbmx5IGRvIGl0IGlmIHRoZSBnaXZlbiBoYXNo IGhhcyBub24gU3RyaW5nIGtleT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KRmVhdHVyZSAjMTQ0MTc6IFN0cmluZyNzdWIgLyBTdHJpbmcjZ3N1YiDjgavjgI7jgq3j g7zjgYwgU3ltYm9sIOOBriBIYXNo44CP44KS5rih44Gb44KL44KI44GG44Gr44GZ44KL5o+Q5qGI Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNDQxNyNjaGFuZ2UtNzAwNzEKCiog QXV0aG9yOiBvc3lvIChtYW5nYSBvc3lvKQoqIFN0YXR1czogRmVlZGJhY2sKKiBQcmlvcml0eTog Tm9ybWFsCiogQXNzaWduZWU6IAoqIFRhcmdldCB2ZXJzaW9uOiAKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIyDmpoLopoEKCmBTdHJpbmcjc3ViYCAvIGBTdHJpbmcj Z3N1YmAg44Gr44CO44Kt44O844GMIGBTeW1ib2xgIOOBriBgSGFzaGDjgI/jgpLmuKHjgZfjgZ/l oLTlkIjjgafjgoIgYFN0cmluZ2Ag44Gu5aC05ZCI44Go5ZCM5qeY44Gr572u44GN5o+b44GI44KL 44CCCgoKIyMg54++6KGM44Gu5YuV5L2cCgpgYGBydWJ5Cmhhc2ggPSB7J2InPT4nQicsICdjJz0+ J0MnfQpwICJhYmNhYmMiLmdzdWIoL1tiY10vLCBoYXNoKSAgICAgIz0+ICJhQkNhQkMiCgojIOOC reODvCDjgYwgU3ltYm9sIOOBriBIYXNoIOOBr+e9ruOBjeaPm+OBiOOCieOCjOOBquOBhApoYXNo ID0geyBiOiAnQicsIGM6ICdDJyB9CnAgImFiY2FiYyIuZ3N1YigvW2JjXS8sIGhhc2gpICAgICAj PT4gImFhIgoKIyDjgq3jg7wg44GMIFN5bWJvbCDjga4gSGFzaCDjga8gU3RyaW5nIOOBq+WkieaP m+OBmeOCi+W/heimgeOBjOOBguOCiwpwICJhYmNhYmMiLmdzdWIoL1tiY10vLCBoYXNoLnRyYW5z Zm9ybV9rZXlzKCY6dG9fcykpICAgICAjPT4gImFCQ2FCQyIKYGBgCgoKIyMg5o+Q5qGI44GZ44KL 5YuV5L2cCgpgYGBydWJ5CiMg44Kt44O844GMIFN0cmluZyDjga7loLTlkIjjga/nj77ooYzntq3m jIEKaGFzaCA9IHsnYic9PidCJywgJ2MnPT4nQyd9CnAgImFiY2FiYyIuZ3N1YigvW2JjXS8sIGhh c2gpICAgICAjPT4gImFCQ2FCQyIKCmhhc2ggPSB7IGI6ICdCJywgYzogJ0MnIH0KCiMgJCYg44Gv 5YuV55qE44Gn44GC44KL44G544GN44Gq44Gu44GnIFN0cmluZyDjga7jgb7jgb4KcCAiYWJjYWJj Ii5nc3ViKC9bYmNdLyl7aGFzaFskJl19ICM9PiAiYWEiCgojIOODluODreODg+OCr+OBruW8leaV sOOBr+WLleeahOOBp+OBguOCi+OBueOBjeOBquOBruOBpyBTdHJpbmcg44Gu44G+44G+CnAgImFi Y2FiYyIuZ3N1YigvW2JjXS8peyB8c3wgaGFzaFtzXSB9ICM9PiBhIgoKIyBIYXNoIOOCkuebtOaO pea4oeOBl+OBn+WgtOWQiOOBruOBv+OCreODvOOBjCBTeW1ib2wg44Gn44KC6Kix5a6544GZ44KL CnAgImFiY2FiYyIuZ3N1YigvW2JjXS8sIGhhc2gpICAgICAjPT4gImFCQ2FCQyIKYGBgCgoKIyMg 5Yip54K5CgoqIOOCreODvOOCkiBTeW1ib2wg44Gn5pu444GP44GT44Go44KS5o6o5aWo44GX44Gm 44GE44KL44Kz44O844OH44Kj44Oz44Kw6KaP57SE44GM44GC44KLCiAgKiBbcnVieS1zdHlsZS1n dWlkZS9SRUFETUUuamEubWQgYXQgamFwYW5lc2UgwrcgZm9ydGlzc2ltbzE5OTcvcnVieS1zdHls ZS1ndWlkZSDCtyBHaXRIdWJdKGh0dHBzOi8vZ2l0aHViLmNvbS9mb3J0aXNzaW1vMTk5Ny9ydWJ5 LXN0eWxlLWd1aWRlL2Jsb2IvamFwYW5lc2UvUkVBRE1FLmphLm1kI3N5bWJvbHMtYXMta2V5cykK KiDjgq3jg7zjgpIgU3ltYm9sIOOBp+Wumue+qeOBmeOCi+aWueOBjCBIYXNoIOOCkuabuOOBhOOB puOBhOOBpuawl+aMgeOBoeOBjOOBhOOBhAoKCiMjIOiqsumhjAoKKiBgU3RyaW5nYCDjgaggYFN5 bWJvbGAg44Gu5Lih5pa544Gu44Kt44O844GM44GC44Gj44Gf5aC05ZCI44Gp44GG44GZ44KL44GL CiAgKiBgImFiY2FiYyIuc3ViKC9bYmNdLywgeyAiYiIgPT4gIkEiLCBiOiAiQyIgfSkgICMgPT4g Pz8/YAogICog54++54q244GvIGBTdHJpbmdgIOOCkuWEquWFiOOBl+OBpuOBhOOCiwogICog44Gd 44KM5Lul5YmN44GrIGBTdHJpbmdgIOOBqCBgU3ltYm9sYCDjgYzmt7fjgZbjgaPjgabjgYTjgosg SGFzaCDjga/jgYrjgYvjgZfjgYTjga7jgafjga/jgarjgYTjgaDjgo3jgYbjgYsKICAqIOitpuWR iuOCkuWHuuOBmeOBqOOBi++8nwoKCiMjIGBTdHJpbmcjZ3N1YmAg44Gu44Om44O844K544Kx44O8 44K544Gq44GpCgpgYGBydWJ5CiMgaHR0cDovL2JhdHNvdi5jb20vYXJ0aWNsZXMvMjAxMy8xMC8w My91c2luZy1ydWJ5cy1nc3ViLXdpdGgtYS1oYXNoLwpkZWYgZ2Vla2lmeShzdHJpbmcpCiAgc3Ry aW5nLmdzdWIoL1tsZXRvXS8sIGw6ICcxJywgZTogJzMnLCB0OiAnNycsIG86ICcwJykKZW5kCgpw IGdlZWtpZnkoJ2xlZXQnKSAjID0+ICcxMzM3JwpwIGdlZWtpZnkoJ25vb2InKSAjID0+ICduMDBi JwoKCmRlZiBkb2N0b3JpemUoc3RyaW5nKQogIHN0cmluZy5nc3ViKC9NKGlzdGUpP3IvLCBNaXN0 ZXI6ICdEb2N0b3InLCBNcjogJ0RyJykKZW5kCgpwIGRvY3Rvcml6ZSgnTWlzdGVyIEZyZWV6ZScp ICMgPT4gJ0RvY3RvciBGcmVlemUnCnAgZG9jdG9yaXplKCdNciBTbWl0aCcpICAgIyA9PiAnRHIg U21pdGgnCmBgYAoKYGBgcnVieQojIGh0dHBzOi8vY29kZXJ3YWxsLmNvbS9wL3Q0eTdjdy9ydWJ5 LWdzdWItd2l0aC1hLWhhc2gtb3ItYmxvY2sKYW1pbm9fYWNpZF9oYXNoID0geyBBOiAnQWxhJywg UjogJ0FyZycsIE46ICdBc24nIH0KCnAgIlIyMzJBIi5nc3ViKC9bQS1aXS8sIGFtaW5vX2FjaWRf aGFzaCkKIyA9PiAiQXJnMjMyQWxhIgpgYGAKCmBgYHJ1YnkKIyBodHRwczovL3FpaXRhLmNvbS9z Y2l2b2xhL2l0ZW1zLzQxNjE1NWMzMDdlYzI5YTM3YjhmCmhhc2ggPSB7CiAgJyYnOiAiJmFtcCIs CiAgJzwnOiAiJmx0IiwKICAnPic6ICImZ3QiLAp9CgpwICI8USZBPiIuZ3N1YigvWyY8Pl0vLCBo YXNoKQojID0+ICImbHRRJmFtcEEmZ3QiCmBgYAoKYGBgcnVieQojIGh0dHBzOi8vcWlpdGEuY29t L3BvY2FyaS9pdGVtcy8zNDg1NWE5YjA3ZWE1MDA2ZmU4MApoYXNoID0gewogICcjdG8jJzogInRh cm8iLAogICcjZnJvbSMnOiAiamlybyIsCn0KCnRlbXBsYXRlID0gPDxFT1MKaGVsbG8sICN0byMu Cm1lc3NhZ2UgZnJvbSAjZnJvbSMuCkVPUwoKcHV0cyB0ZW1wbGF0ZS5nc3ViKC8jLiojLywgaGFz aCkKIyA9PiBoZWxsbywgdGFyby4KIyBtZXNzYWdlIGZyb20gamlyby4KYGBgCgrjgZ3jga7ku5bj gIHlhbfkvZPnmoTjgarjg6bjg7zjgrnjgrHjg7zjgrnjgpLmgJ3jgYTjgaTjgYTjgZ/mlrnjgYzj gYTjgozjgbDjgrPjg6Hjg7Pjg4jjgYTjgZ/jgaDjgZHjgovjgajliqnjgYvjgorjgb7jgZnjgIIK Ci0tLUZpbGVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3RyaW5nX3N1Yl93aXRo X3N5bWJvbF9rZXkucGF0Y2ggKDIuNzEgS0IpCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcu b3JnLwo=