From: Ralph Mason Date: 2001-10-31T12:21:03+09:00 Subject: [ruby-talk:23905] References in methods This is a multi-part message in MIME format. ------=_NextPart_000_08D4_01C16228.23BA4B70 Content-Type: multipart/alternative; boundary="----=_NextPart_001_08D5_01C16228.23BA4B70" ------=_NextPart_001_08D5_01C16228.23BA4B70 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable It appears that altering a string in a method does not always alter the = passed in string. Could someone please explain this behavior. def func1(x) x.gsub!( /b/,"a") end def func2(x) x+=3D"X" end f=3D"abc" func1 x x -> aac func2 x x -> aac *** No X appended **** x +=3D "X" x-> aacX Thanks Ralph ------=_NextPart_001_08D5_01C16228.23BA4B70 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
It appears that altering a string in a = method does=20 not always alter the passed in string. Could someone please explain this = behavior.
 
def func1(x)
    x.gsub!( = /b/,"a")
end
 
def func2(x)
    = x+=3D"X"
end
 
f=3D"abc"
 
func1 x
 
x -> aac
 
func2 x
 
x -> aac  *** No X appended=20 ****
 
x +=3D "X"
 
x-> aacX
 
Thanks
Ralph
 
------=_NextPart_001_08D5_01C16228.23BA4B70-- ------=_NextPart_000_08D4_01C16228.23BA4B70 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIII6jCCAogw ggHxoAMCAQICAwUraTANBgkqhkiG9w0BAQIFADCBkjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdl c3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsT FENlcnRpZmljYXRlIFNlcnZpY2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAw MC44LjMwMB4XDTAxMDcwOTIyMjQyMVoXDTAyMDcwOTIyMjQyMVowSTEfMB0GA1UEAxMWVGhhd3Rl IEZyZWVtYWlsIE1lbWJlcjEmMCQGCSqGSIb3DQEJARYXcmFscGgubWFzb25AdGVsb2dpcy5jb20w gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALu1srM8OOgNUMoigvNmihzsJXCfvY2n9hL65rKd O/CxPTI4KAVYUbzwydLkEVwJt/w1y/7jY4wKhsJ3Alfb8eYaNExtqx0jmPcrdmi9bIAvt9C0nV3H WgkBjflKo6yZ2e//XTjE6cCAWX90VaoQkE24xwTQHZk6JNoO8+VOg++dAgMBAAGjNDAyMCIGA1Ud EQQbMBmBF3JhbHBoLm1hc29uQHRlbG9naXMuY29tMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEC BQADgYEACQ4AmyU5KZSJdDsVGOBIMdaPO9WFFbMbHIV/VoR39Lo2mZivetU5SN8bSvtGqR6sEtcf hFqS74953nqkoLTi94+lA8sczaDs8dBVdnAYBA0mqLDqOd9FDofF2L1RYwZueBJ6ej6U/WOphOud phIMy2yJfvhYEZBEDX7rqqQnM0EwggMpMIICkqADAgECAgEMMA0GCSqGSIb3DQEBBAUAMIHRMQsw CQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAY BgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2Vz IERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG 9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDAwODMwMDAwMDAwWhcNMDIw ODI5MjM1OTU5WjCBkjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UE BxMJQ2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsTFENlcnRpZmljYXRlIFNlcnZp Y2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAwMC44LjMwMIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDeMzKmY8cJJUU+0m54J2eBxdqIGYKXDuNEKYpjNSptcDz63K737nRv MLwzkH/5NHGgo22Y8cNPomXbDfpL8dbdYaX5hc1VmjUanZJ1qCeu2HL5ugL217CR3hzpq+AYA6h8 Q0JQUYeDPPA5tJtUihOH/7ObnUlmAC0JieyUa+mhaQIDAQABo04wTDApBgNVHREEIjAgpB4wHDEa MBgGA1UEAxMRUHJpdmF0ZUxhYmVsMS0yOTcwEgYDVR0TAQH/BAgwBgEB/wIBADALBgNVHQ8EBAMC AQYwDQYJKoZIhvcNAQEEBQADgYEAcxtvJmWL/xU0S1liiu1EvknH6A27j7kNaiYqYoQfuIdjdBxt t88aU5FL4c3mONntUPQ6bDSSrOaSnG7BIwHCCafvS65y3QZn9VBvLli4tgvBUFe17BzX7xe21Yib t6KIGu05Wzl9NPy2lhglTWr0ncXDkS+plrgFPFL83eliA0gwggMtMIIClqADAgECAgEAMA0GCSqG SIb3DQEBBAUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQH EwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZp Y2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1h aWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNOTYw MTAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCB0TELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rl cm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEo MCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3Rl IFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0 aGF3dGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUadfUsJRkW3HpR9gMUbbqcpGw hF59LQ2PexLfhSV1KHQ6QixjJ5+Ve0vvfhmHHYbqo925zpZkGsIUbkSsfOaP6E0PcR9AOKYAo4d4 9vmUhl6t6sBeduvZFKNdbnp8DKVLVX8GGSl/npom1Wq7OCQIapjHsdqjmJH9edvlWsQcuQIDAQAB oxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAMfskn5O+PWWpWdiKqTwTRFg 0G+NYFhhrCa7UjVcCM8w+6hKloofYkIjjBcP9LpknBesRynfnZhe0mxgcVyirNx54+duAEcftQ0o 6AKd5Jr9E/Sm2Xyx+NxfIyYJkYBz0BQb3kOpgyXy5pwvFcr+pquKB3WLDN1RhGvk+NHOd6KBMYIB /jCCAfoCAQEwgZowgZIxCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNV BAcTCUNhcGUgVG93bjEPMA0GA1UEChMGVGhhd3RlMR0wGwYDVQQLExRDZXJ0aWZpY2F0ZSBTZXJ2 aWNlczEoMCYGA1UEAxMfUGVyc29uYWwgRnJlZW1haWwgUlNBIDIwMDAuOC4zMAIDBStpMAkGBSsO AwIaBQCggbowGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDExMDMx MDMyMTQ4WjAjBgkqhkiG9w0BCQQxFgQUm5RY3pqdDJq7KQOiqhGSy60527EwWwYJKoZIhvcNAQkP MU4wTDAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcw DQYIKoZIhvcNAwICASgwBwYFKw4DAh0wDQYJKoZIhvcNAQEBBQAEgYBPjylnS3WsK7HqiYrsKLy5 wFP5glznLXaM1tDsZ879yDfyY62uWpw/tAhEvzO04I62/zFhIlL7pOR84GH7NNyZz8UU3QDSiTmd mDclY478SET9hgjgs6cbVDLYkkCabgM16g/HbY4S+MhTOPfSiZAdLBRkDX2GlP0Mr6cmSkDl4AAA AAAAAA== ------=_NextPart_000_08D4_01C16228.23BA4B70--