Если вы попытаетесь сделать это в php
$mytokenarray = explode($mydelimiter, $mystring)[1];
, обратите внимание на полученную ошибку: Parse error: syntax error, unexpected '['
.
Это означает, что php расстраивается, когда пытается проанализировать код, а не когда он пытается выполнить его.Я подозреваю, что это означает, что грамматика php (которая, как я слышал, генерируется на лету, хотя я на самом деле понятия не имею) говорит, что вы не можете поставить '[' после statement
или expression
или как там их называют,Скорее, вы можете, вероятно, ставить '[' только после переменной.
Вот грамматика Python.http://docs.python.org/reference/grammar.html, содержащее правило trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME
Оттуда вы можете видеть, что trailer
является частью atom
, которая также может содержать [
.Вы начинаете понимать, что это довольно сложно.
Бла-бла-бла, короче говоря, вы узнаете о компиляторах или, что еще лучше, напишите один для игрушечного языка.Тогда у вас будет масса понимания языковых особенностей.