首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有时跳过任务:在多个变量上分支

有时跳过任务:在多个变量上分支
EN

Stack Overflow用户
提问于 2014-09-17 22:43:20
回答 1查看 23关注 0票数 0

与此相关的问题:ducttape sometimes-skip task: cross-product error

假设我有这样的计划:

代码语言:javascript
复制
task map_lexicon
    < in_lexicon=$pron_lex
    > out_lexicon=lex
    > out_w2p=lex.w2p
    > out_p2w=lex.p2w
{
    cp $in_lexicon $out_lexicon
    echo "" > $out_w2p
    echo "" > $out_p2w

}

task prune_lexicon
    # Prunes a lexicon
    < in_lexicon=$pron_lex
    > out_lex_pruned=lex.pruned
    > out_w2p_pruned=lex.w2p.pruned
    > out_p2w_pruned=lex.p2w.pruned
{
    cp $in_lexicon $out_lex_pruned
    echo "" > $out_w2p_pruned
    echo "" > $out_p2w_pruned
}

global {    
    lex1=/path/to/foo
    pron_lex=(PronLex: Lex1=$lex1)
}

在管道的后面,我希望创建一个将map_lexiconprune_lexicon作为依赖项的分支。但是,每个任务都有我需要使用的3个输出。示例:

代码语言:javascript
复制
global {
    lex_type=(LexType: raw=$out_lexicon@map_lexicon pruned=$out_lex_pruned@prune_lexicon)
}

task foo
    < in_lex=$in_lex@map_lexicon
    < in_w2p=$out_w2p@map_lexicon
    < in_p2w=$out_p2w@map_lexicon
    > bar
{
    echo $in_lex $in_w2p $in_p2w > bar
}

是否有一种方法可以设置一个有时跳过的任务来管理单个分支点内的三个变量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-18 13:55:49

所有需要的就是定义具有相同分支点的附加变量。

代码语言:javascript
复制
global {
    lex=(LexType: raw=$out_lexicon@map_lexicon pruned=$out_lex_pruned@prune_lexicon)
    w2p=(LexType: raw=$out_w2p@map_lexicon pruned=$out_w2p_pruned@prune_lexicon)
    p2w=(LexType: raw=$out_p2w@map_lexicon pruned=$out_p2w_pruned@prune_lexicon)

}

然后将foo定义为:

代码语言:javascript
复制
task foo
    < in_lex=$lex
    < in_w2p=$w2p
    < in_p2w=$p2w
    > bar
{
    echo $in_lex $in_w2p $in_p2w > bar
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25901519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档