问题标签 [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 投票
2 回答
1541 浏览

c# - unityscript, c#, boo 团结在一起?

是否可以在统一 3d 中一起使用 unityscript 和 boo(在同一个项目中)?我们正在尝试选择平台和引擎来作为一个团队开发游戏,一些编码人员擅长python,一些编码人员擅长js。因此,如果可以将这些语言结合起来并作为一个整体工作,我会建议统一作为引擎。

0 投票
1 回答
131 浏览

macros - boo中可重用的嵌套宏?

我正在使用 boo 编写 DSL,我希望它尽可能保持干燥。我想知道是否有任何方法可以重用嵌套宏。例如在

子宏宏只是在父宏的散列中设置一个值。有没有办法避免在每个父宏中重新定义子宏?

提前致谢,

托马斯

0 投票
4 回答
790 浏览

.net - 在任何.Net 语言中使用的.Net 库?

快速的问题,我一直在阅读一些 .Net 的东西,而有些人的谈话方式对我来说意味着 .Net 库可以与多种 .Net 语言一起使用。也许这只是我的一厢情愿,哈哈。例如,我可以使用用 C# 编写的 Tao 框架和 Boo .Net 语言吗?
我可以解释的唯一方法是,如果库被编译为字节码以在 .Net 中运行,并且可以与任何也可以编译的语言一起使用。虽然我对.Net不太了解^-^

谢谢

0 投票
2 回答
654 浏览

.net - DLR、Boo 和 JVM

我刚刚开始尝试更多地了解 .Net VM 基础,但我立即被某些东西抛弃了。我知道有一个叫做 DLR 的新东西,它允许 C# 中的所有动态内容和 IronX 语言的运行。但现在我正在阅读这种名为 Boo 的语言,显然它早在 DLR 存在之前就具有动态功能。所以,

1)这怎么可能?

2) DLR 增加了什么?

3) 像 Boo 这样的语言是否会通过根据 DLR 重新实现自身来获得任何收益?

从我在这里和那里收集到的信息来看,看起来 DLR 来自 IronPython,当时他们将 .Net 中支持 DL 所需的所有内容分解出来,并将其置于可重用的形式中。所以我猜 DLR 并没有什么特别之处,只是一些有助于处理 Microsoft.Scripting.dll 中的动态对象的库,但如果你有时间的话,没有什么是你不能自己出去编写代码的,这我猜是Boo发生了什么?然后对于 2 和 3,我猜 DLR 的通用性和可重用性将允许任何未来的 DLR 改进自动被继承,但是如果你已经做了你的,那么没有迫切的“需要”重新实现使用 DLR自己的自定义运行时?或者 DLR 是否有一些秘密的 MS 酱汁,使它比我们在 .Net 上可以做的任何事情都好?

4) DLR 真的是一个运行时还是只是一组库?(到底什么是运行时?我可能需要学习更多的编译器理论才能理解这个问题的答案,或者它是否是一个有意义的问题。忽略这个问题。或者不要。)

5) IronPython 编译是如何工作的?它是编译成 CIL 的新动态版本,还是只是将“ironpython.exe”命令添加到包含程序文本的字符串中?嗯,如果动态是 C# 中的关键字,那么 CIL 必须有动态版本,对吧?那么.Net 是如何知道在 CIL 上使用 CLR 还是 DLR 的呢?

6) JVM 的达芬奇项目有什么不同吗?看起来它是 JVM 本身的实际重新实现。这种方法的含义是什么?我猜有巨大的性能提升,但还有什么?MS没有走这条路的任何原因?

7) DLR 是否让 Boo 在制作 DSL 时有些过时?

0 投票
2 回答
1418 浏览

macros - Boo 与 Nemerle 有什么区别?

看起来这两种语言都被称为“C# 应该是什么”,具有卫生宏、REPL、编译器作为服务 (CaaS)、静态 + 鸭子类型(在 C# 拥有它之前)。这两种语言之间是否有任何重大区别,或者它们只是或多或少相同事物的两种不同实现?我在某处读到 Nemerle 的宏服务比 Boo 的更强大;这是真的?

它们在当前活动、成熟度和 IDE 集成方面如何比较?

此外,如果 C# 5.0 传闻中的 CaaS 功能实现,它们是否会过时,或者是否有功能可以使它们保持相关性?

0 投票
2 回答
16167 浏览

c# - 如何将 System.Linq 命名空间导入 Boo?

当我尝试将System.Linq命名空间导入 Boo 编译器时,出现此错误:

Boo.Lang.Compiler.CompilerError:

未找到命名空间“System.Linq”,也许您忘记添加程序集引用?

我使用“Rhino.DSL.dll”,我的 DSL 引擎代码在这里:

0 投票
2 回答
791 浏览

c# - 我如何在 boo 中使用扩展方法

我的 boo 脚本中有一个列表,想使用 System.Linq 扩展方法,但 boo 编译器抛出此异常:

(“...”是我的对象的类型)

0 投票
1 回答
273 浏览

.net - Observable.Create from Boo 的类型问题

我正在尝试使用 Boo 的 Reactive Extensions 并遇到类型问题。这是基本示例:

此处的订阅给出了 System.InvalidCastException: 无法从源类型转换为目标类型。问题似乎与我如何创建可观察对象有关,但我一直在努力寻找类型问题的来源。

想法?

0 投票
1 回答
198 浏览

c# - Boo 中的运算符重载 - op_NotEqual?

我有一个旧的 C# 库,我正在转换为 Boo,它使用运算符重载。为了不了解原因,我正在寻找一种在 Boo 中做同样事情的方法。

这采取以下形式:

但是,Boo 使用不同形式的运算符重载,并且没有“运算符”关键字。

(来自http://boo.codehaus.org/Operator+overloading

这些二元运算符可以重载:

  • op_Addition
  • op_减法
  • op_Multiply
  • op_Division
  • op_Modulus
  • op_Exponentiation
  • op_Equality
  • op_LessThan
  • op_LessThanOrEqual
  • op_GreaterThan
  • op_GreaterThanOrEqual
  • op_Match
  • op_NotMatch
  • op_Member
  • op_NotMember
  • op_BitwiseOr
  • op_BitwiseAnd

但我在该列表中没有看到类似 op_NotEqual(!=) 的内容。这些方法是否等同于上述 C# 代码?如果是这样,什么相当于

0 投票
1 回答
738 浏览

c# - 如何在 boo (Rhino DSL) 中使用 c# 动态对象?

我正在使用 Rhino DSL,当我想将动态对象传递给脚本时,boo 编译器会抛出以下异常: BCE0019: Boo.Lang.Compiler.CompilerError: 'Percent' is not a member of 'object'。

我的嘘声代码:

Run 方法的 C# Dsl 基本代码:

  • 在 Run 方法中,我将 myDynamicObject 设置为继承自 DynamicObject 并覆盖 TrySetValue 和 TryGetValue 方法的类