首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在LWRP中使用include_recipe而不是run_context.include_recipe

在LWRP中使用include_recipe而不是run_context.include_recipe
EN

Stack Overflow用户
提问于 2016-10-03 04:24:40
回答 1查看 595关注 0票数 0

我开始在我的LWRP中使用include_recipe,它只是起作用了--不知道run_context.include_recipe。我不确定我是否理解这种区别,并且在互联网上读到了一些东西,使之听起来像是常规的include_recipe甚至不应该在LWRP中工作?

它看起来很好,但只是好奇我是不是做错了什么。我不希望include_recipe在每次调用资源时运行菜谱,我只是像普通的包含一样使用它--那些依赖于某些菜谱来设置东西的资源首先要包括它们。

我假设包含的菜谱只在第一次调用资源时运行,如果资源被多次调用,则included_recipe不会重新运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-03 08:38:02

include_recipe在LWRP中的问题是,包含的菜谱中的资源最终会在提供者的操作的执行上下文中结束,这基本上是一个子上下文。不幸的是,很难找到一个好的解决办法。和你的最后一个问题一样,我的平衡库中有一个解决方案,但它非常复杂,所有“简单”的解决方案都有各自的缺点。如果您还没有读过它,请查看https://coderanger.net/two-pass/,这涉及到DSL的内部结构。添加到这篇文章中,提供者的内部基本上是它自己版本的编译和收敛周期以及它自己的资源集合。您将不得不想象执行顺序是如何工作的,并确定哪些资源在哪些集合中,以及聚合指针在哪里(基本上就像指令指针和子例程在“普通代码”中工作一样)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39824597

复制
相关文章

相似问题

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