[ruby-dev:50449] [Ruby trunk Feature#14417] String#sub / String#gsub に『キーが Symbol の Hash』を渡せるようにする提案
From:
hanmac@...
Date:
2018-01-29 15:17:38 UTC
List:
ruby-dev #50449
SXNzdWUgIzE0NDE3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgSGFubWFjIChIYW5zIE1hY2tvd2lhayku CgoKZGlkIGxvb2sgYXQgc3RyaW5nLmMgZm9yIGdzdWIgY29kZSwKaHR0cHM6Ly9naXRodWIuY29t L3J1YnkvcnVieS9ibG9iL3RydW5rL3N0cmluZy5jI0w1MDk0CnNlZW1zIHRvIGJlIHRoZSBsaW5l IHdoZXJlIHdlIGNvdWxkIGFkZCBhIHRyYW5zZm9ybV9rZXlzIGNhbGwKCmJ1dCBpIGRvbid0IGtu b3cgY3VycmVudGx5IHdoYXQgdGhlIGJlc3Qgd2F5IHRvIGNhbGwgYGhhc2gudHJhbnNmb3JtX2tl eXMoJjp0b19zKWAKcHJvYmFibHkgc29tZXRoaW5nIHdpdGggYHJiX2Z1bmNhbGxfd2l0aF9ibG9j a2A/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE0 NDE3OiBTdHJpbmcjc3ViIC8gU3RyaW5nI2dzdWIg44Gr44CO44Kt44O844GMIFN5bWJvbCDjga4g SGFzaOOAj+OCkua4oeOBm+OCi+OCiOOBhuOBq+OBmeOCi+aPkOahiApodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy9pc3N1ZXMvMTQ0MTcjY2hhbmdlLTY5OTY5CgoqIEF1dGhvcjogb3N5byAobWFu Z2Egb3N5bykKKiBTdGF0dXM6IEZlZWRiYWNrCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVl OiAKKiBUYXJnZXQgdmVyc2lvbjogCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIyMg5qaC6KaBCgpgU3RyaW5nI3N1YmAgLyBgU3RyaW5nI2dzdWJgIOOBq+OAjuOCreOD vOOBjCBgU3ltYm9sYCDjga4gYEhhc2hg44CP44KS5rih44GX44Gf5aC05ZCI44Gn44KCIGBTdHJp bmdgIOOBruWgtOWQiOOBqOWQjOanmOOBq+e9ruOBjeaPm+OBiOOCi+OAggoKCiMjIOePvuihjOOB ruWLleS9nAoKYGBgcnVieQpoYXNoID0geydiJz0+J0InLCAnYyc9PidDJ30KcCAiYWJjYWJjIi5n c3ViKC9bYmNdLywgaGFzaCkgICAgICM9PiAiYUJDYUJDIgoKIyDjgq3jg7wg44GMIFN5bWJvbCDj ga4gSGFzaCDjga/nva7jgY3mj5vjgYjjgonjgozjgarjgYQKaGFzaCA9IHsgYjogJ0InLCBjOiAn QycgfQpwICJhYmNhYmMiLmdzdWIoL1tiY10vLCBoYXNoKSAgICAgIz0+ICJhYSIKCiMg44Kt44O8 IOOBjCBTeW1ib2wg44GuIEhhc2gg44GvIFN0cmluZyDjgavlpInmj5vjgZnjgovlv4XopoHjgYzj gYLjgosKcCAiYWJjYWJjIi5nc3ViKC9bYmNdLywgaGFzaC50cmFuc2Zvcm1fa2V5cygmOnRvX3Mp KSAgICAgIz0+ICJhQkNhQkMiCmBgYAoKCiMjIOaPkOahiOOBmeOCi+WLleS9nAoKYGBgcnVieQoj IOOCreODvOOBjCBTdHJpbmcg44Gu5aC05ZCI44Gv54++6KGM57at5oyBCmhhc2ggPSB7J2InPT4n QicsICdjJz0+J0MnfQpwICJhYmNhYmMiLmdzdWIoL1tiY10vLCBoYXNoKSAgICAgIz0+ICJhQkNh QkMiCgpoYXNoID0geyBiOiAnQicsIGM6ICdDJyB9CgojICQmIOOBr+WLleeahOOBp+OBguOCi+OB ueOBjeOBquOBruOBpyBTdHJpbmcg44Gu44G+44G+CnAgImFiY2FiYyIuZ3N1YigvW2JjXS8pe2hh c2hbJCZdfSAjPT4gImFhIgoKIyDjg5bjg63jg4Pjgq/jga7lvJXmlbDjga/li5XnmoTjgafjgYLj govjgbnjgY3jgarjga7jgacgU3RyaW5nIOOBruOBvuOBvgpwICJhYmNhYmMiLmdzdWIoL1tiY10v KXsgfHN8IGhhc2hbc10gfSAjPT4gYSIKCiMgSGFzaCDjgpLnm7TmjqXmuKHjgZfjgZ/loLTlkIjj ga7jgb/jgq3jg7zjgYwgU3ltYm9sIOOBp+OCguioseWuueOBmeOCiwpwICJhYmNhYmMiLmdzdWIo L1tiY10vLCBoYXNoKSAgICAgIz0+ICJhQkNhQkMiCmBgYAoKCiMjIOWIqeeCuQoKKiDjgq3jg7zj gpIgU3ltYm9sIOOBp+abuOOBj+OBk+OBqOOCkuaOqOWlqOOBl+OBpuOBhOOCi+OCs+ODvOODh+OC o+ODs+OCsOimj+e0hOOBjOOBguOCiwogICogW3J1Ynktc3R5bGUtZ3VpZGUvUkVBRE1FLmphLm1k IGF0IGphcGFuZXNlIMK3IGZvcnRpc3NpbW8xOTk3L3J1Ynktc3R5bGUtZ3VpZGUgwrcgR2l0SHVi XShodHRwczovL2dpdGh1Yi5jb20vZm9ydGlzc2ltbzE5OTcvcnVieS1zdHlsZS1ndWlkZS9ibG9i L2phcGFuZXNlL1JFQURNRS5qYS5tZCNzeW1ib2xzLWFzLWtleXMpCiog44Kt44O844KSIFN5bWJv bCDjgaflrprnvqnjgZnjgovmlrnjgYwgSGFzaCDjgpLmm7jjgYTjgabjgYTjgabmsJfmjIHjgaHj gYzjgYTjgYQKCgojIyDoqrLpoYwKCiogYFN0cmluZ2Ag44GoIGBTeW1ib2xgIOOBruS4oeaWueOB ruOCreODvOOBjOOBguOBo+OBn+WgtOWQiOOBqeOBhuOBmeOCi+OBiwogICogYCJhYmNhYmMiLnN1 YigvW2JjXS8sIHsgImIiID0+ICJBIiwgYjogIkMiIH0pICAjID0+ID8/P2AKICAqIOePvueKtuOB ryBgU3RyaW5nYCDjgpLlhKrlhYjjgZfjgabjgYTjgosKICAqIOOBneOCjOS7peWJjeOBqyBgU3Ry aW5nYCDjgaggYFN5bWJvbGAg44GM5re344GW44Gj44Gm44GE44KLIEhhc2gg44Gv44GK44GL44GX 44GE44Gu44Gn44Gv44Gq44GE44Gg44KN44GG44GLCiAgKiDorablkYrjgpLlh7rjgZnjgajjgYvv vJ8KCgojIyBgU3RyaW5nI2dzdWJgIOOBruODpuODvOOCueOCseODvOOCueOBquOBqQoKYGBgcnVi eQojIGh0dHA6Ly9iYXRzb3YuY29tL2FydGljbGVzLzIwMTMvMTAvMDMvdXNpbmctcnVieXMtZ3N1 Yi13aXRoLWEtaGFzaC8KZGVmIGdlZWtpZnkoc3RyaW5nKQogIHN0cmluZy5nc3ViKC9bbGV0b10v LCBsOiAnMScsIGU6ICczJywgdDogJzcnLCBvOiAnMCcpCmVuZAoKcCBnZWVraWZ5KCdsZWV0Jykg IyA9PiAnMTMzNycKcCBnZWVraWZ5KCdub29iJykgIyA9PiAnbjAwYicKCgpkZWYgZG9jdG9yaXpl KHN0cmluZykKICBzdHJpbmcuZ3N1YigvTShpc3RlKT9yLywgTWlzdGVyOiAnRG9jdG9yJywgTXI6 ICdEcicpCmVuZAoKcCBkb2N0b3JpemUoJ01pc3RlciBGcmVlemUnKSAjID0+ICdEb2N0b3IgRnJl ZXplJwpwIGRvY3Rvcml6ZSgnTXIgU21pdGgnKSAgICMgPT4gJ0RyIFNtaXRoJwpgYGAKCmBgYHJ1 YnkKIyBodHRwczovL2NvZGVyd2FsbC5jb20vcC90NHk3Y3cvcnVieS1nc3ViLXdpdGgtYS1oYXNo LW9yLWJsb2NrCmFtaW5vX2FjaWRfaGFzaCA9IHsgQTogJ0FsYScsIFI6ICdBcmcnLCBOOiAnQXNu JyB9CgpwICJSMjMyQSIuZ3N1YigvW0EtWl0vLCBhbWlub19hY2lkX2hhc2gpCiMgPT4gIkFyZzIz MkFsYSIKYGBgCgpgYGBydWJ5CiMgaHR0cHM6Ly9xaWl0YS5jb20vc2Npdm9sYS9pdGVtcy80MTYx NTVjMzA3ZWMyOWEzN2I4ZgpoYXNoID0gewogICcmJzogIiZhbXAiLAogICc8JzogIiZsdCIsCiAg Jz4nOiAiJmd0IiwKfQoKcCAiPFEmQT4iLmdzdWIoL1smPD5dLywgaGFzaCkKIyA9PiAiJmx0USZh bXBBJmd0IgpgYGAKCmBgYHJ1YnkKIyBodHRwczovL3FpaXRhLmNvbS9wb2NhcmkvaXRlbXMvMzQ4 NTVhOWIwN2VhNTAwNmZlODAKaGFzaCA9IHsKICAnI3RvIyc6ICJ0YXJvIiwKICAnI2Zyb20jJzog Imppcm8iLAp9Cgp0ZW1wbGF0ZSA9IDw8RU9TCmhlbGxvLCAjdG8jLgptZXNzYWdlIGZyb20gI2Zy b20jLgpFT1MKCnB1dHMgdGVtcGxhdGUuZ3N1YigvIy4qIy8sIGhhc2gpCiMgPT4gaGVsbG8sIHRh cm8uCiMgbWVzc2FnZSBmcm9tIGppcm8uCmBgYAoK44Gd44Gu5LuW44CB5YW35L2T55qE44Gq44Om 44O844K544Kx44O844K544KS5oCd44GE44Gk44GE44Gf5pa544GM44GE44KM44Gw44Kz44Oh44Oz 44OI44GE44Gf44Gg44GR44KL44Go5Yqp44GL44KK44G+44GZ44CCCgotLS1GaWxlcy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN0cmluZ19zdWJfd2l0aF9zeW1ib2xfa2V5LnBhdGNo ICgyLjcxIEtCKQoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8K