【问题标题】:Mechanical Turk / Cmd line tools / Qualification / #set and #foreach in xmlMechanical Turk / 命令行工具 / 资格认证 / #set 和 #foreach in xml
【发布时间】:2010-07-27 21:11:06
【问题描述】:

在 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 )
...

我想知道:

  • a) 这里使用的语言是什么(它是 不是 Perl 也不是 PHP,对吧?);
  • b) 我在哪里(在亚马逊网站或其他地方) 可以阅读有关这些构造的信息;
  • c) 如何实现元组(对),例如

// 在 Python 中:

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

--或类似的东西?

提前致谢!

【问题讨论】:

    标签: mechanicalturk


    【解决方案1】:

    这是一个 Velocity 模板(Apache 项目的一部分)。好消息是它是一种您可以操作的相当灵活的语言。更好的消息是您可以(因为我相信所有 CLT 和 SDK 代码都是开放的)实际上可以创建新的结构来覆盖或扩展任何不属于 Velocity 的开箱即用的东西。

    直接回答您的问题:

    a) 速度

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

    c) 您可以使用两个单独的数组。不漂亮,我意识到,但它会工作。

    【讨论】:

    • - 1) 谢谢!!! - 2)“使用两个数组”:我还是不明白,你能举一个简短的例子吗?我的意思是,我可能需要smth。像 #set( $urls = [...]) #set( $cats = [...]) ——但 foreach 仍然不起作用?我需要smth。像 > for (int i = 0; i do_smth_with $urls[i] .... -- 但是这些结构存在吗?语法是什么?我没有在velocity.apache.org/engine/devel/user-guide.html (:_. // 虽然这个页面 提到 "Hashtable" -- 没有麻烦描述语法的“foreach”之外找到任何循环!恶心! !
    • PS:抱歉,但显然没有格式在 cmets 的 copmments 中起作用:-)。
    • “使用两个数组”的建议是模拟元组的一种方式。基本上是一个键数组(比如说叫它'k')和另一个值数组(比如说叫它'v')。然后通过调用 k[1] 和 v[1] 得到一个元组。同样,这不是最佳实践,但如果由于某种原因元组不可用,则可以解决您的问题 #3。
    猜你喜欢
    • 2016-01-25
    • 2015-06-08
    • 2015-03-19
    • 2015-11-11
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多