Questions tagged «dsl»

7
如何将字符串转换为其等效的LINQ表达式树?
这是原始问题的简化版本。 我有一个叫Person的课: public class Person { public string Name { get; set; } public int Age { get; set; } public int Weight { get; set; } public DateTime FavouriteDay { get; set; } } ...然后说一个实例: var bob = new Person { Name = "Bob", Age = 30, Weight = …
173 c#  lambda  antlr  dsl  predicate 

1
小马(ORM)如何发挥作用?
Pony ORM很好地把生成器表达式转换成SQL。例: >>> select(p for p in Person if p.name.startswith('Paul')) .order_by(Person.name)[:2] SELECT "p"."id", "p"."name", "p"."age" FROM "Person" "p" WHERE "p"."name" LIKE "Paul%" ORDER BY "p"."name" LIMIT 2 [Person[3], Person[1]] >>> 我知道Python具有出色的自省和内置元编程功能,但是该库如何能够在不进行预处理的情况下转换生成器表达式?看起来像魔术。 [更新] 搅拌器写道: 这是您要查找的文件。似乎可以使用一些自省向导来重构生成器。我不确定它是否支持100%的Python语法,但这很酷。- 搅拌机 我以为他们正在研究生成器表达协议中的某些功能,但正在查看此文件并看到其中ast涉及的模块...不,他们不是在动态检查程序源,是吗?令人振奋... @BrenBarn:如果我尝试在select函数调用之外调用生成器,则结果为: >>> x = (p for p in Person if p.age > 20) >>> …

13
什么是领域特定语言?有人用吗?又以什么方式?
我想我正在寻找某种介绍,看看是否有人使用过它。使用它有什么特别的优点吗? 维基百科: 特定领域语言(DSL)是专用于特定问题域,特定问题表示技术和/或特定解决方案技术的编程语言或规范语言。 谁能提供任何具体示例来说明您如何实现它或在给定场景中它如何有用?
107 terminology  dsl 

6
如何使用带有正确错误消息的Capybara声明元素数量?
我知道在水豚,您可以执行以下操作: page.should have_css("ol li", :count => 2) 但是,假设该页面仅具有一个匹配元素,则该错误的描述性不是很高: 1) initial page load shows greetings Failure/Error: page.should have_css("ol li", :count => 2) expected css "ol li" to return something 除了这种晦涩的错误消息,还有一种方法可以编写断言,以使错误输出类似于“当匹配'ol li'时,预期:2,发现:1'”。显然,我可以针对这种行为自己制定自定义逻辑-我在问是否有一种方法可以“开箱即用”? 对于它的价值,我正在使用Selenium驱动程序和RSpec。
86 rspec  dsl  capybara 

13
找不到Android Studio Gradle DSL方法:“ android()”-错误(17,0)
我试图在Android Studio中运行我的项目,但错误出现在下面: 我已经跟踪了许多消息来源,只是想让它运行起来并在这里结束,但是不知道该怎么办。 如何配置该项目以运行? build.gradle: // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.9.+' } } allprojects { repositories { mavenCentral() } } android { compileSdkVersion 19 buildToolsVersion "19.1" } settings.gradle: include ':app' local.properties: sdk.dir=C\:\\Users\\KJA\\AppData\\Local\\Android\\sdk …

5
有没有机会写“ C major”而不是“ major C”?
我在音乐项目中遇到了一个美学上的小问题,并且困扰了我一段时间。 我有一个类型data Key = C | D | ...,可以Scale从Key和构造一个Mode。该Mode例如主要的和次要的规模进行了区分。 我可以将Mode类型定义为从Keyto 的函数Scale。在这种情况下,模式将使用小写名称(可以),我可以得到一个这样的Scale aScale = major C 但是音乐家不会这样说话。他们将此比例称为C大尺度,而不是C大尺度。 我想要的是 理想情况下,我想写 aScale = C major 这有可能吗? 我尝试了什么 我可以创建Key一个Scale从构造a的函数Mode,所以我可以写 aScale = c Major 但是我不能将关键限制在构建音阶上。其他事物也需要它们(例如,构建和弦)。也Key应该是的实例Show。 当我使用额外的函数(或值构造函数)时,可以放在Mode后面Key: aScale = scale C major 与 scale :: Key -> Mode -> Scale 但是额外的单词标度看起来很吵,并且与名称相反,它scale实际上与标度无关。聪明的地方在于major,scale确实是公正flip ($)。 使用a newtype Mode = …
39 haskell  dsl 

3
传递变量beetwen groovy文件
我正在通过DSL插件管理Jenkins中的许多工作。该插件使用.groovy定义,因此我认为即使有人不使用Jenkins,但使用groovy可能也可以提供帮助。 通常,我想创建一个其他文件,该文件可以是groovy文件,JSON或YAML等。重要的是可以将该文件与我的.groovy文件连接。 在该文件中,我正在定义变量(而不是字符串),例如地址IP或其他内容。 ip_gitlab: 1.2.3.4 default_user: admin 在我的常规文件中,我希望能够使用这些变量。 这种方法在常规中可行吗?
9 java  jenkins  groovy  dsl 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.