From: Run Paint Run Run Date: 2010-09-02T23:03:07+09:00 Subject: [ruby-core:32017] [Ruby 1.9-Feature#3131] add Kernel#Hash() method like Kernel#Array() --mimepart_4c7fae9b5657d_eed5c8ca622593 Content-Type: text/plain Content-Transfer-Encoding: Quoted-printable Content-Disposition: inline Issue #3131 has been updated by Run Paint Run Run. File kernel-hash.patch added I believe the attached patch reflects the consensus between matz and Sura= j. The only material difference is that a TypeError is raised instead of = an ArgumentError for consistency with Integer(), Float(), etc. ---------------------------------------- http://redmine.ruby-lang.org/issues/show/3131 ---------------------------------------- http://redmine.ruby-lang.org --mimepart_4c7fae9b5657d_eed5c8ca622593 Content-Type: text/x-patch; name=kernel-hash.patch Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename=kernel-hash.patch ZGlmZiAtLWdpdCBhL29iamVjdC5jIGIvb2JqZWN0LmMKaW5kZXggMzRiOTUy OS4uOWYzYmViYiAxMDA2NDQKLS0tIGEvb2JqZWN0LmMKKysrIGIvb2JqZWN0 LmMKQEAgLTIzODgsNiArMjM4OCwzOSBAQCByYl9mX2FycmF5KFZBTFVFIG9i aiwgVkFMVUUgYXJnKQogICAgIHJldHVybiByYl9BcnJheShhcmcpOwogfQog CitWQUxVRQorcmJfSGFzaChWQUxVRSB2YWwpCit7CisgICAgaWYgKE5JTF9Q KHZhbCkpIHJldHVybiByYl9oYXNoX25ldygpOworICAgIFZBTFVFIHRtcCA9 IHJiX2NoZWNrX2hhc2hfdHlwZSh2YWwpOworICAgIGlmIChOSUxfUCh0bXAp KSB7CisJaWYgKFRZUEUodmFsKSA9PSBUX0FSUkFZICYmIFJBUlJBWV9MRU4o dmFsKSA9PSAwKSAKKwkgICAgcmV0dXJuIHJiX2hhc2hfbmV3KCk7CisJcmJf cmFpc2UocmJfZVR5cGVFcnJvciwgImNhbid0IGNvbnZlcnQgJXMgaW50byBI YXNoIiwgcmJfb2JqX2NsYXNzbmFtZSh2YWwpKTsKKyAgICB9CisgICAgcmV0 dXJuIHRtcDsKK30KKworLyoKKyAqICBjYWxsLXNlcToKKyAqICAgICBIYXNo KGFyZykgICAgLT4gaGFzaAorICoKKyAqICBDb252ZXJ0cyA8aT5hcmc8L2k+ IHRvIGEgPGNvZGU+SGFzaDwvY29kZT4gYnkgY2FsbGluZworICogIDxpPmFy ZzwvaT48Y29kZT4udG9faGFzaDwvY29kZT4uIFJldHVybnMgYW4gZW1wdHkg PGNvZGU+SGFzaDwvY29kZT4gd2hlbgorICogIDxpPmFyZzwvaT4gaXMgPHR0 Pm5pbDwvdHQ+IG9yIDx0dD5bXTwvdHQ+LgorICoKKyAqICAgICBIYXNoKFtd KSAgICAgICAgICAjPT4ge30KKyAqICAgICBIYXNoKG5pbCkgICAgICAgICAj PT4gbmlsCisgKiAgICAgSGFzaChrZXk6IDp2YWx1ZSkgIz0+IHs6a2V5ID0+ IDp2YWx1ZX0KKyAqICAgICBIYXNoKFsxLCAyLCAzXSkgICAjPT4gVHlwZUVy cm9yCisgKi8KKworc3RhdGljIFZBTFVFCityYl9mX2hhc2goVkFMVUUgb2Jq LCBWQUxVRSBhcmcpCit7CisgICAgcmV0dXJuIHJiX0hhc2goYXJnKTsKK30K KwogLyoKICAqICBEb2N1bWVudC1jbGFzczogQ2xhc3MKICAqCkBAIC0yNTY3 LDYgKzI2MDAsNyBAQCBJbml0X09iamVjdCh2b2lkKQogCiAgICAgcmJfZGVm aW5lX2dsb2JhbF9mdW5jdGlvbigiU3RyaW5nIiwgcmJfZl9zdHJpbmcsIDEp OwogICAgIHJiX2RlZmluZV9nbG9iYWxfZnVuY3Rpb24oIkFycmF5IiwgcmJf Zl9hcnJheSwgMSk7CisgICAgcmJfZGVmaW5lX2dsb2JhbF9mdW5jdGlvbigi SGFzaCIsIHJiX2ZfaGFzaCwgMSk7CiAKICAgICByYl9jTmlsQ2xhc3MgPSBy Yl9kZWZpbmVfY2xhc3MoIk5pbENsYXNzIiwgcmJfY09iamVjdCk7CiAgICAg cmJfZGVmaW5lX21ldGhvZChyYl9jTmlsQ2xhc3MsICJ0b19pIiwgbmlsX3Rv X2ksIDApOwpkaWZmIC0tZ2l0IGEvdGVzdC9ydWJ5L3Rlc3Rfb2JqZWN0LnJi IGIvdGVzdC9ydWJ5L3Rlc3Rfb2JqZWN0LnJiCmluZGV4IDYzYzFkMzIuLjBm NWY3ZTcgMTAwNjQ0Ci0tLSBhL3Rlc3QvcnVieS90ZXN0X29iamVjdC5yYgor KysgYi90ZXN0L3J1YnkvdGVzdF9vYmplY3QucmIKQEAgLTE4OSw2ICsxODks MTkgQEAgY2xhc3MgVGVzdE9iamVjdCA8IFRlc3Q6OlVuaXQ6OlRlc3RDYXNl CiAgICAgYXNzZXJ0X3JhaXNlKFR5cGVFcnJvcikgeyBBcnJheShvKSB9CiAg IGVuZAogCisgIGRlZiB0ZXN0X2NvbnZlcnRfaGFzaAorICAgIGFzc2VydF9l cXVhbChIYXNoKG5pbCksIHt9KQorICAgIGFzc2VydF9lcXVhbChIYXNoKFtd KSwge30pCisgICAgYXNzZXJ0X2VxdWFsKEhhc2goa2V5OiA6dmFsdWUpLCB7 a2V5OiA6dmFsdWV9KQorICAgIGFzc2VydF9yYWlzZShUeXBlRXJyb3IpIHsg SGFzaChbMSwyXSkgfQorICAgIGFzc2VydF9yYWlzZShUeXBlRXJyb3IpIHsg SGFzaChPYmplY3QubmV3KSB9CisgICAgbyA9IE9iamVjdC5uZXcKKyAgICBk ZWYgby50b19oYXNoOyB7YTogMSwgYjogMn07IGVuZAorICAgIGFzc2VydF9l cXVhbChIYXNoKG8pLCB7YTogMSwgYjogMn0pCisgICAgZGVmIG8udG9faGFz aDsgOTsgZW5kCisgICAgYXNzZXJ0X3JhaXNlKFR5cGVFcnJvcikgeyBIYXNo KG8pIH0KKyAgZW5kCisKICAgZGVmIHRlc3RfdG9faW50ZWdlcgogICAgIG8g PSBPYmplY3QubmV3CiAgICAgZGVmIG8udG9faTsgbmlsOyBlbmQK --mimepart_4c7fae9b5657d_eed5c8ca622593--