问题标签 [boo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
398 浏览

syntax - Boo 构造函数链接

在 C# 中,当我想将构造函数链接在一起时,我会这样做......

Boo 中的等效语法是什么?

0 投票
4 回答
7990 浏览

.net - 是否可以将动态程序集保存到磁盘?

我最近买了 Ayende 的书Building DSLs in Boo(买了,读了,太棒了)但是我遇到了一个实现问题,我想看看生成的代码是什么样子的。我通常会使用反射器来查看代码,但在这种情况下,程序集是动态的并且仅在内存中。有没有办法将动态程序集保存到磁盘以便我可以反映它们?

编辑/我的回答

哇,花了一段时间才回到这个。不幸的是,我从原始问题中遗漏了重要的一点。

重要提示:我正在使用Ayende 在书中推荐的 RhinoDSL 库。我可以访问我的 DslEngine 子类中的 boo 编译器,如下所示:

为了改变最少并获得我想要的东西,我需要添加一行......

这导致编译器将程序集输出到我的 ~\LocalSettings\Temp 目录,然后我可以反映它。重要的是要注意,进行该更改会导致程序的其余部分中断(RhinoDSL 无法再在内存中找到程序集,因为我将它们输出到磁盘),因此这仅作为调试工具有用。

0 投票
1 回答
520 浏览

dsl - 嘘:以下代码是否可能

是否存在以下情况是有效的 Boo 语句:

在哪里target并且requires可以是宏/方法/其他任何东西(关键字除外)?
这是一个 DSL 问题,因此任何语言 hack 都可以编译。

0 投票
4 回答
496 浏览

.net - 如何在命令行窗口中制作文本框?

我正在使用 .NET(特别是 Boo,但答案也可以在 C# 中使用),我想知道如何在命令行中创建一个可编辑框,以便我可以在顶部显示一部分输出命令行,并在底部有一个单行框用于输入,就像程序 irssi(IRC 客户端)所做的那样。

我认为 .NET 可以做到这一点,我将如何解决这个问题?

0 投票
2 回答
403 浏览

hash - Boo:显式指定哈希的类型

我是 Boo 的新手,并试图弄清楚如何声明哈希的类型。当我做:

编译器抱怨“方法不是对象的成员”。我收集它不知道哈希中的值是什么类型。

有什么方法可以向编译器声明哈希的键和值是什么类型,这样它就不会抱怨?

0 投票
1 回答
275 浏览

boo - 如何在 Boo 中创建嵌套宏

我在 Boo 中创建嵌套宏,我编写了这个程序:

但我在代码的第 3 行收到错误“未知标识符:'文本'”。

0 投票
3 回答
742 浏览

boo - Boo有多稳定和成熟?

我看了Boo,它看起来非常棒!我只是好奇它在这个阶段有多稳定?我的意思是,你会考虑在实际的生产代码中使用它吗?

0 投票
1 回答
197 浏览

c# - 用树干 Boo 编译 Ayende 的 Binsor

我正在尝试更新我们的参考资料,包括 Boo。在编译 Binsor 时,我遇到了一堆错误,我正在一次修改一个。经过大量的源代码浏览和谷歌搜索,我无法弄清楚如何修复以下行(TransformUnknownReferences.cs,第 115 行):

从3260 版开始, ExternalConstructor构造函数是:

我还没有弄清楚 TypeSystemServices 来自哪里,或者我如何从 Binsor 代码中的这一点到达 IReflectionTypeSystemProvider。如果任何对 Binsor 和/或 Boo 有深入了解的人知道一个简单的解决方法,请说出来:)。

更好的是某种隐藏的 Binsor 存储库,其中代码已在过去六个月内更新。

0 投票
2 回答
222 浏览

.net - 域特定语言 (DSL) 可以本地化(即翻译)吗?

我从来没有写过 DSL,但我认为它是一个新项目的功能(假设的)。最终用户将能够用自然语言表达概念,例如除了当月的第一个星期一之外的 10 点到 11 点之间的工作日

荷兰用户可能会写weekdagen tussen 10 en 11 behalve op de eerste maandag van de maand。在这种情况下,单词的位置似乎匹配,但可能存在动词/名词等的位置在语言之间可能不同的表达式。

我意识到显而易见的答案(这取决于)。我是一名 .NET 开发人员,我考虑使用 Boo,但我愿意接受建议。我需要了解每个翻译是否需要重写实现的一部分(哪个部分),或者是否有办法进行实际翻译,也许在某种预处理器中。

0 投票
3 回答
820 浏览

c# - 如何在 ASP.NET 中管理应用程序配置?

我在管理为不同客户端部署的 ASP.Net 应用程序的配置时遇到了困难。大量不同的设置需要摆弄,占用了大量的时间,而当前的配置方法过于复杂,我们无法将这个责任推给支持合作伙伴。

有什么更好的方法来处理这个问题或有什么好的研究信息来源的建议吗?

我们目前是怎么做的:

  • Web.Config 中引用的各种 xml 配置文件,例如 AppSettings.xml。
  • 特定站点的配置保存在重复的配置文件中。
  • 包含特定于站点的数据列表的文本文件
  • 在某些情况下,手动一次性更改数据库
  • Windsor IOC 的 C# 配置。

我们遇到的具体问题:

  • 启用了不同功能的不同站点、我们必须与之交谈的不同外部服务以及不同的业务规则。
  • 不同的部署类型(实时、测试、培训)
  • 配置键随版本变化(添加、删除),这意味着我们必须更新所有重复的文件
  • 我们仍然需要能够在应用程序运行时更改密钥

我们目前对如何解决这个问题的想法是:

  • 将配置移动到动态编译的代码中(可能是 Boo、Binsor 或 JavaScript)
  • 具有某种形式的差异/合并配置:将默认配置与实时/测试/培训配置和特定于站点的配置相结合