dsl 相关问题

特定于域的语言是一种用于特定应用程序域的编程语言

Nextflow - I/O 和索引问题

我是 nextflow 的新手,正在尝试构建管道。我在将输出传递到新进程、正确捕获输出以及使用 BWA-MEM2 索引指定方面遇到问题。 这是我的剧本...

回答 1 投票 0

rspec“描述”方法(和其他)的源代码?

我现在正在浏览 Michael Hartl 的 Rails 教程,发现我不断被鼓励使用奇妙的方法,这些方法可以莫名其妙地做出令人惊奇的事情。他做了一个总体的比较...

回答 2 投票 0

Groovy 方法命名约定用于定义我们自己的 DSL

我尝试创建一个小型 DSL,但即使是简单的东西我也遇到了困难。 以下脚本给我一个错误。 def DEMON(字符串输入) { ['a':输入] } DEMON '你好小东西' a 由于某些原因,...

回答 1 投票 0

在 Apache Camel 中动态加载路由的最佳方法

我们开发了基于Karaf和Apache Camel的应用程序。虽然我们的应用程序完全基于捆绑包(OSGI),但我们还在星上加载 Camel 上下文(及其“路由上下文”)...

回答 3 投票 0

在 Geany 中自动完成我的 DSL 关键字

Geany (IDE) 在编程时支持自动完成或 IntelliSense,但这是基于您迄今为止在代码中使用的单词来完成的。 有没有办法让我可以自动完成我的语言...

回答 1 投票 0

如何对这款口译员进行分类

目前,我正在开发 DSL 的解释器(?)。但我很难找到如何准确地对其进行分类。我什至不确定你是否可以称其为口译员。 我尝试过搜索abo...

回答 1 投票 0

如何在 Haskell 中的嵌入式 DSL 中捕获高阶函数?

我想在 Haskell 中编写一个嵌入式 DSL,从中我可以生成另一种语言的代码(即 Python,但这与问题无关)。有很多不同的方法

回答 1 投票 0

这是 Ruby 语法还是 DSL?我如何学习 Ruby 语法或 Rails DSL?

例如这里是routes.rb文件中的一些代码 匹配 'products/:id' => 'products#show', 通过: :get 我认为 match 是一种没有括号的方法,所以这是我习惯的。然后

回答 1 投票 0

预处理器#值的多重定义

我正在创建一个项目,我尝试创建一种新的语言来制作宏,问题是名为 X 的宏用于两种不同的用途:1)用括号关闭函数调用,如下所示);},whe。 ..

回答 1 投票 0

使用 Groovy 映射进行 DSL 参数

按照此处的链接,我们有自己的 DSL 扩展,它在文件 vars/buildFlow.groovy 中定义如下: 地图mapFromClosure(闭包体){ 地图 按照此处的链接,我们有自己的 DSL 扩展,它在文件中的定义如下 vars/buildFlow.groovy: Map<String, Object> mapFromClosure(Closure body) { Map<String, Object> config = [:] body.resolveStrategy = Closure.DELEGATE_FIRST body.delegate = config body() // other things } 在我的Jenkinsfile中,我可以这样使用它: buildFlow { // different args } 我希望能够动态地将参数填充到 buildFlow,但我不确定如何使用 Groovy 和闭包。根据我的条件,我想要的一切都有Map,但我不能像这样将Map传递给buildFlow。有没有办法将 Map 参数转换为闭包构造函数? Map flowArgs = [ argA: 1, argB: 2 ] buildFlow { flowArgs } 我见过谈论使用 ConfigObject 的解决方案,但这受到限制: Scripts not permitted to use new groovy.util.ConfigObject 要使用 buildFlow 动态填充 Map 的参数,您可以考虑将 Map 转换为 Groovy 中的 closure。 这可以通过迭代 Map 并将每个键值对作为属性应用到闭包来完成。 首先,修改mapFromClosure中的vars/buildFlow.groovy方法来处理Closure和Map类型: Map<String, Object> mapFromClosure(Object body) { Map<String, Object> config = [:] if (body instanceof Closure) { body.resolveStrategy = Closure.DELEGATE_FIRST body.delegate = config body() } else if (body instanceof Map) { config.putAll(body) } // other things return config } 然后,创建一个实用方法将 Map 转换为 Closure(如“Groovy 在 Map 和 Closure 之间转换”): Closure mapToClosure(Map map) { return { map.each { key, value -> delegate."$key" = value } } } 在 Jenkinsfile 中使用此实用方法将 Map 转换为闭包,然后再将其传递给 buildFlow: Map flowArgs = [ argA: 1, argB: 2 ] buildFlow mapToClosure(flowArgs) 结果: Jenkinsfile | └── buildFlow (Accepts Closure or Map) | └── mapFromClosure (Handles both Closure and Map) | └── mapToClosure (Converts Map to Closure) 这将提供处理 DSL 中的闭包和映射的灵活性,允许动态参数传递到 buildFlow。 mapToClosure 函数在 Jenkins 管道中用于将参数 Map 转换为 Closure,然后再将其传递给 buildFlow。这确保管道脚本保持在 Jenkins 脚本安全性允许的范围内。

回答 1 投票 0

重播或中止作业时,使用参数构建选项始终处于未选中状态 - (构建作业是通过作业 dsl groovy 脚本创建的)

我在groovy job dsl模板的帮助下创建了一个管道作业,它是一个参数化的管道作业。每当重播或中止此管道作业时,使用参数选项构建都会变得

回答 1 投票 0

领域特定语言 (DSL) 与框架

DSL 和 Frameworks 的主要思想之间的主要区别是什么?这两个问题让我很困惑,我无法通过互联网找到正确的答案!

回答 1 投票 0

Irony .NET:表达式运算符优先级

我正在使用 Irony 来解析 DSL,它具有可以与 AND 和 OR 组合的表达式: /* 剪断 */ RegisterOperators(4, 或关键字); RegisterOperators(5, 和关键字); 注册操作符(9,

回答 2 投票 0

如何消除querydsl中的数据重复?

查询 选择 book1.id 为 col_0_0_, book1.title为col_2_0_, images1_.id为col_5_0_, images1_.filesize 为 col_9_0_ 从 书本1 左外连接 ...

回答 1 投票 0

在方法中设置闭包的委托会导致SO

我将以下代码与构建器一起使用: 闭包 getObject = { String oType -> 返回 { 类型 o 类型 格式“int32” } } def yaml = new YamlBuilder() yaml{ 字符串值' 对象1...

回答 1 投票 0

如何在 build.gradle.kts 中生成 versionName 字符串以在 Android 应用程序的设置 xml 文件中使用?

我有模块级别的文件 build.gradle 最近更改为新的 Kotline DSL 版本重命名为 build.gradle.kts 我有一行生成 versionName 用作 xml 中的字符串(设置激活...

回答 1 投票 0

Cucumber DSL 如何工作?

我们来看: 当 /^(?:|I ) 填写以下内容:$/ do |fields| fields.rows_hash.each |名称,值| 当%{我用“#{value}”填写“#{name}”} 结尾 结尾 以我初步的 Ruby 知识...

回答 1 投票 0

使用 url enpoint 查询 api 中数组元素上的字符串

我正在使用芝加哥艺术学院 API (https://api.artic.edu/docs/#introduction),并且有一个名为 subject_titles 的元素,它是一个字符串数组。我想查询 API 来向我展示...

回答 1 投票 0

无法将库添加到 Eclipse 中的 xtext 项目(返回错误)

首先,我使用默认值创建了一个 xtext 项目(以简单的 Greetings 语法为例)。 然后我创建了一个 .java 文件,其中包含一些代码(可以在下面看到)并添加...

回答 2 投票 0

使用 kotlin dsl 时出现“代码洞察不可用”警告

我开始将groovy gradle脚本迁移到kotlin dsl,并且build.gradle和settings.gradle文件没有遇到任何问题。我在 build.gradle.kts 中应用了几个脚本。当我

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.