ルビーの次のコードを考えてみましょう。どこかからprestartを呼び出したと仮定します。
def tester(process_name, *host_list)
hosts = []
hosts = host_list[0]
hosts[0] = nil
end
def prestart(process_name, *host)
host_list = ['192.168.1.1', '192.168.1.2']
puts host_list.inspect # -> ['192.168.1.1', '192.168.1.2']
tester(process_name, host_list)
puts host_list.inspect # -> [nil, '192.168.1.2']
abort
end
どのようにしてゼロになりましたか?これはルビーのしくみですか?はいの場合、発信者に影響がないことを確認するにはどうすればよいですか?