Почему я получаю “Нечетное число элементов в анонимном хеше” предупреждение в Perl?

MFC/ATL имеет очень хороший токенизатор. Из MSDN:

CAtlString str( "%First Second#Third" );
CAtlString resToken;
int curPos= 0;

resToken= str.Tokenize("% #",curPos);
while (resToken != "")
{
   printf("Resulting token: %s\n", resToken);
   resToken= str.Tokenize("% #",curPos);
};

Output

Resulting Token: First
Resulting Token: Second
Resulting Token: Third
6
задан brian d foy 31 August 2009 в 21:19
поделиться

1 ответ

Несмотря на то, что синтаксис технически допустим, он не выполняет то, что вы думаете.

'custom_fields' => {
    { "key" => "height", "value" => 500 },
    { "key" => "width", "value" => 750 }
},

примерно эквивалентен чему-то вроде:

'custom_fields' => {
    'HASH(0x881a168)' => { "key" => "width", "value" => 750 }
},

, что определенно не то, что вам нужно. (Часть 0x881a168 будет отличаться; на самом деле это адрес, по которому хранится хэш-ссылка.)

Я не уверен, каков правильный синтаксис для настраиваемых полей. Вы можете попробовать

'custom_fields' => [
    { "key" => "height", "value" => 500 },
    { "key" => "width", "value" => 750 }
],

, который установит custom_fields в массив хэшей. Но это может быть не так. Это зависит от того, что ожидает send_request .

13
ответ дан 8 December 2019 в 18:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: