为什么autovivification适用于'?

时间:2017-06-23 20:20:51

标签: perl autovivification

我有下一个代码:

import java.util.*;
import java.io.*;
import java.net.*;

class FunClient{

    public static void main(String args[])throws Exception
    {

            String output;

            InetAddress local = InetAddress.getLocalHost();
            Socket link = new Socket(local, 1234);
            System.out.println("Connection Successful.");

            Scanner reader = new Scanner(link.getInputStream());
            PrintWriter writer = new PrintWriter(link.getOutputStream());

            while(true){

                output = writer.nextLine();

                if(output.equals("close")){
                    break;
                }

                System.out.println(output);

            }

            link.close();

    }
}

print for @{ $events->{ $name } }; 为空哈希时,我得到$events键,其值为空数组$name

为什么autovivification有效,尽管我只是访问元素并且没有分配任何内容?

1 个答案:

答案 0 :(得分:0)

分配不会自动生成;作为左值进行评估,以便您可以分配。

Foreach的列表表达式被评估为允许$_ = 1 for @a;

的左值