Механический турок / Инструменты линии Cmd / Квалификация / #set и #foreach в xml - PullRequest
1 голос
/ 28 июля 2010

В инструментах командной строки Amazon Mechanical Turk (я использую версию: aws-mturk-clt-1.3.0) в одном из примеров (site_filter_qual: "Квалификация фильтрации веб-сайтов", файл site_filter_qual.question) есть код, который выглядит примерно так:

#set( $urls = [ "http://news.bbc.co.uk/", http://..., ...])

#foreach ( $url in $urls )
...

Мне интересно:

  • а) Какой язык используется здесь (это не Perl и не PHP, верно?);
  • б) Где (на сайте Amazon или в другом месте) я мог прочитать об этих конструкциях;
  • с) Как реализовать кортежи (пары), например

// в Python:

>> data = [("http://news.bbc.com", "NEWS"), ("http://google.com", "SEARCH"), ...]
>> for (url, category) in data:
>>     ....

- или что-то подобное?

Заранее спасибо!

1 Ответ

2 голосов
/ 28 июля 2010

Это шаблон Velocity (часть проекта Apache). Хорошей новостью является то, что это достаточно гибкий язык, которым вы можете манипулировать. Лучшей новостью является то, что вы можете (поскольку я верю, что весь код CLT и SDK открыт) на самом деле создавать новые конструкции для переопределения или расширения всего, что не является частью Velocity, из коробки.

Чтобы ответить на ваши вопросы напрямую:

а) Скорость

б) http://velocity.apache.org/

в) Вы можете использовать два отдельных массива. Не очень, я понимаю, но это сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...