جدول الرمز: حذف الإدخالات
-
30-09-2019 - |
سؤال
لماذا أحصل على القيم من "$ n" و "$ m" بعد حذف المقالين المعنيين؟
#!/usr/bin/env perl
use warnings;
use 5.012;
package Foo;
our $n = 10;
our $m = 20;
delete $Foo::{'n'};
delete $Foo::{'m'};
say $n; # 10
say $m; # 20
المحلول
لأن جدول الرمز يستخدم فقط في وقت الترجمة (أو عبر مرجع رمزي). العالم الذي هو قيمة $Foo::{...}
يشار إليه مباشرة بواسطة الكود المترجم ، لذا فإن إدخال جدول الرموز الممتاز غير الممتاز ليس له أي تأثير.
لا تنتمي إلى StackOverflow