1

在 Pike 中,可以通过调用来检索对象的所有成员indices()。是否也可以在不实例化的情况下查看类的所有成员?

> class A {int foo; string bar;};
> A a = A();
> indices(a);
(1) Result: ({ /* 2 elements */
                "foo",
                "bar"
            })
> indices(A);
(2) Result: ({ })
4

1 回答 1

1

是的,你可以,虽然输出不会像indices一个那样友好。您需要使用_describe_program函数,如下所示:

> _describe_program(A);
(4) Result: ({ /* 2 elements */
            ({ /* 7 elements */
                0,
                "foo",
                int,
                0,
                0,
                0,
                0
            }),
            ({ /* 7 elements */
                0,
                "bar",
                string,
                0,
                16,
                0,
                0
            })
        })
于 2019-01-07T07:05:15.423 回答