问题标签 [nim-lang]
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.
nimrod - Tuples without field names
I noticed I can declare tuples in nimrod without giving names for each filed. For example:
But this doesn't apply for the last filed
Why is that? Is this intended? Why should the last field always be named?
nimrod - Nimrod 初学者 - Fizzbuzz - 编译和运行
我尝试编写编译和运行我的第一个 nimrod 程序的 fizzbuzz。
Nimrod 是从 git 安装的,版本是。
所以这是一个嘶嘶声
我编译为 c (有更好的选择吗?),对我来说似乎没问题。
但是运行它不会产生任何输出。有什么我做错了吗?
nimrod - 如何在 Nimrod 中使用函数指针?
是否可以在 Nimrod 中使用函数指针?
我试过的是:
但是当我尝试编译时,我得到:
c++ - 如何使用 C++11 风格的强类型定义创建新的原始类型?
我试图在 C++ 中模拟与Nim 编程语言不同的类型。以下示例不会在 Nim 中编译,因为编译器会捕获变量并
具有不同的类型 ( ),尽管它们都是二进制级别的浮点数:e
d
Error: type mismatch: got (Euros, float)
在 C++ 中执行此操作的一种方法是为浮点数编写一个包装类。但这不适用于导出类型的 API,因为大小与浮点数不同。或者即使一个类的大小与浮点数的存储长度相匹配,它也永远不会与 char 类型的大小相匹配。如果您还为加法、减法等操作实现所有可能的运算符,这将起作用,但需要大量输入和重复代码。
诸如创建新的原始类型之类的较旧问题 已作为使用 boost 的强 typedef 的公认答案。然而 typedef 似乎只适用于函数类型签名, typedef 不会阻止将两个浮点继承类型添加在一起并且它们的类型完全改变(嗯,因为只是一种新类型的错觉):
但这差不多了,test()
调用将不起作用,因为签名不匹配,但是该语言仍然允许其他操作随意破坏类型。
同样的答案提到 C++0x 带来了强大的 typedef,所以我寻找这个新的支持,发现Bjarne Stroustrup 本人在 2012 年发表了 C++11 风格的主题演讲。大约在第 21 分钟,他开始谈论这些新的强类型定义。如果您只下载幻灯片,第 19 页开始讨论SI 单位,稍后第 22 页和第 23 页提到如何做到这一点。但是,我无法使这些示例正常工作。这是我设法编造的拼凑而成:
我正在尝试在 MacOSX 下使用最新的 Xcode 5.1.1 使用命令行编译它:
也许幻灯片中给出的例子,我错过了更多的代码?有人有一个完整的例子来说明 Bjarne 试图展示的内容吗?
nim-lang - Nim:包含 Posix 的 C 标头
我正在尝试使用 Nim Posix 库,特别是文件系统统计信息:
http://nim-lang.org/docs/posix.html#Stat
根据我对其他 Nim 模块的测试,导入和使用应该是这样的:
但是编译器给了我一个
编译时是否必须添加一些手动包含,或者我在导入时遗漏了什么?
json - 如何在 Nim 中将对象转换为 json
我正在 Nim 中制作一个小型 Web 服务,我需要使用 json 响应请求。我正在使用jester 模块来提供服务。我希望我可以使用 Nim 基础库中的 json 模块来构造某种具有字段和值的对象,然后将其转换为 json 字符串。但是怎么做?或者有没有更好的方法在 Nim 中构造 json?
safari - nimrod httpserver won't work in safari
I'm playing around with Nimrod a bit, and I've tried the HTTPServer module. I first thought it didn't work as when I tried to go to the web page in Safari, my standard browser, it gave an error. There error was something like this: (sorry if it isn't exactly right, it's translated from dutch)
Safari can't open this page Safari cannot open page localhost:5000, as the network connection has been lost unexpectedly
But, when I try to open the page in Chrome or Firefox, it works just fine
My Nimrod code:
nim-lang - 这个语法有什么名字
在语言 nim 中,可以执行以下操作:
这将与
所以,基本上你把点之前的表达式作为函数的第一个参数。我确信其他语言也有这个功能,但没有直接想到。
我想知道的是这个语法有什么名字
metaprogramming - 报表列表组成
我需要将语句列表拆分为多个部分,如下所示:
但是编译器告诉我:
x
鉴于在节点列表中声明,这非常令人困惑。我怎样才能使它正常工作?(如果不是很明显,由于其他原因,我确实需要将 AST 分成多个部分)
typeclass - Nim 中的类型类
我试图在 Nim 中简单地使用类型类。请记住,我从今天早上开始才使用 Nim,所以我可能一直在做一些愚蠢的事情。
无论如何,我想定义一个产生类型值流的伪随机生成器T
。有时T
是数字,因此了解可达到的最小值和最大值是有意义的——比如重新调整值。这是我的类型
我也有这样的例子,说LinearCongruentialGenerator
。
假设我想用它来定义Uniform
在间隔内产生浮点值的生成器。我努力了
next
我省略了和min
的明显定义max
。
但是,以上内容无法编译,因为Error: 'BoundedGenerator' is not a concrete type
如果我明确地LinearCongruentialGenerator
代替BoundedGenerator[int]
, 每次编译,但我当然希望能够切换更复杂的生成器。
谁能帮我理解编译器错误?