Метод new
для Parse::RecDescent
имеет этот прототип:
sub new ($$$)
{
# code goes here
}
и если я создаю такой объект:
my $parser = Parse::RecDescent->new($grammar);
это создаст парсер, а метод получит 2 параметра "Parse :: RecDescent" и $ грамматику, верно? Если я попытаюсь создать объект вроде:
Parse::RecDescent::new("Parse::RecDescent",$grammar)
это не удастся сказать "Недостаточно аргументов для Parse :: RecDescent :: new", и я понимаю это сообщение. Я только передаю 2 параметра. Однако я не понимаю, почему работает версия со стрелкой.
Вы можете объяснить?