问题标签 [ponylang]
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.
ponylang - 数据竞赛?还是有其他问题?
今天才发现编程语言“小马”……并开始使用它。
我的代码应该做一些简单的生产者消费者事情。正如语言文档所声称的那样,该语言确保没有数据竞争。
在这里,main 向生产者发送了 10 条消息,生产者又向消费者发送了 10 条消息。消费者增加一个计数器状态变量。然后,main 向消费者发送一条消息,消费者又向 main 发送一条消息以显示当前值。如果所有消息都按顺序排列,则预期值为 9(或 10)。打印的结果是 0。
因为这是我玩语言的第一个小时,当然我可能搞砸了别的东西。
谁能解释我的错误?
顺便说一句,在 Windows 10、64 位上运行。使用我发现的最新最好的 zip 文件安装。
0.10.0-1c33065 [release] 编译为:llvm 3.9.0 -- ?
ponylang - 区分 Pony 中不同类型的错误?
Pony 有一个没有参数化的异常值。
不幸的是,我经常有想要抛出不同类型异常的代码,我需要知道它们是什么才能正确处理它们——例如,在停止程序时,给用户正确的错误消息很重要!
那么在 Pony 中这样做的惯用方式是什么?
visual-studio-code - 带有 VS2017 或 VSCode 的 Windows 上的 Pony 语言
我正在寻找有关如何设置 Pony 并使 VS2017 或 VSCode 识别其语法、编译和调试程序的完整说明。
到目前为止,我已经找到了 VS2015 的插件(https://github.com/ponylang/VS-pony);但是我无法构建项目(项目当然是由 VS2017 本身转换为 VS2017 格式)。我还为 VSCode 找到了一些语法着色器;但是我不知道如何配置构建管道,更不用说调试环境了。
附言。在 YouTube 上有一个关于 Pony 的讲座,那里的人似乎使用 VSCode ( https://www.youtube.com/watch?v=Vq1vRfv-A6g )。他们是怎么做到的?有人知道吗?
class - 用 actor 替换 class 关键字会导致错误
这是我的代码:
它运行良好并打印(如预期)2.7183。但是,如果我在定义中替换class
为,我会得到一堆错误:actor
Eapproximator
我能做些什么来解决这个问题?
destructuring - 你能解压小马模式匹配中的值吗?
Pony 能够对类进行模式匹配,也可以在匹配表达式中分配结果(使用let ... :
),但是有没有办法在匹配表达式中解包值?例如像这样的东西?
我能想到的唯一选择是一系列
但这并不好,特别是如果有多个可能的类要匹配。
ponylang - Pony 中的延迟初始化
这是我想做的
这是我开始的内容:
ponylang - 如何在 Pony 中使用数组?
由于缺少 Ponylang 中有关集合的文档和教程,我在使用 Array 类和使用索引方面真的很吃力。
我有一个过度设计的基于演员的 fizzbuzz,其中有一个演员负责向其他演员请求 fizzbuzz 操作并收集结果。可能我使用的模式不是最好的,但现在我想以这种方式迭代以了解更多信息。
我的问题是以下代码:
在函数collect_result
中插入总是失败。使用update
是一样的。我从处理参与者那里收到的result
和num
我是正确的,但我无法将它们插入到数组中。在此类中的 Array 中的任何插入都会失败。是能力问题吗?还是我做错了什么?
ponylang - 为什么赋值返回旧值而不是新值?
为什么赋值返回以前的值而不是新值,例如:分配0
给y
而不是2
?这是危险的不寻常,因为它违反了最小意外原则。
ponylang - 没有参数的 RAII 构造函数?
为什么Class?
当 no args 构造函数可能出错时表单无效,而 with args 表单有效?可能是尚未考虑的错误或粗糙边缘吗?
ponylang - 小马的静态类方法?
在具有 this 上下文没有意义的代码上,例如与 a 相关的实用程序函数,class
Pony 中是否存在“静态类”方法的定义和调用语法,还是我持有错误?