问题标签 [crystal-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.
crystal-lang - Crystal 库可以从 C 静态链接到吗?
我已通读本教程中的“C 绑定”,但我是 C 方面的新手。
有人可以让我知道是否可以将 Crystal 程序构建为要链接的静态库,如果可以,请提供一个简单的示例?
crystal-lang - (元组数组)的哈希导致编译/运行时错误“元组 {(String, String -> Void)} 的索引超出范围”
我正在尝试制作一个包含元组的数组哈希。这导致了一个奇怪的问题,我怀疑这是一个编译器错误,但我不是 100% 确定。
我正在使用的语法:
看起来这已经成为一个(String, String -> void)
对象的元组,而不是String, String -> void
. 运行时会出现此错误, crystal spec
但运行时不会出现此错误crystal build ./src/main.cr
。
这是编译器/运行时错误,还是我弄乱了语法?
Crystal 0.8.0 [e363b63](2015 年 9 月 19 日星期六 12:00:17 UTC)
crystal-lang - 是否可以手动获取 `yield` 值而不是循环?
以文档中的这个例子为例,我们可以发送一个yield
从函数接收值的块。
我想知道的是我们是否可以手动调用该函数,以便第一次调用给出1
然后我们做其他事情,然后下一个调用给出2
.
我尝试(只是猜测)各种事情,puts twice()
但无济于事。有什么办法可以做到这一点?
crystal-lang - 为什么 Object 不能是 Proc 对象的参数类型
我有这样的代码:
当我编译它时,我收到这样的异常:
还不能用作 Proc 参数类型,请使用更具体的类型
有人可以解释一下为什么会这样,为什么 Proc 不能被 Object 参数化?
linux - Linux 上缺少标准库?
我一直在 OS X 中使用 Crystal,随 Homebrew 一起安装。现在我在 Linux 上尝试一下,但是当我编译一个包含URI
标准库的项目时,我得到:
虽然需要“URI”:找不到相对于“/home/...”的文件“URI”
我根据文档使用apt-get
. (如果这很重要,我实际上正在使用 LinuxMint。)我还需要下载 git repo 吗?如果是这样,Crystal 期望它在哪里?
我下载了一个预编译的二进制文件。我看到它包括标准库。有水晶寻找的路径吗?
ruby - 是否可以为 Ruby 创建 Crystal 绑定?
我正在为水晶创建一个m3u8生成器/解析器,但我想稍后将它与 ruby 一起使用。这可能/容易做到吗?
dependencies - 如何生成没有依赖关系的 Crystal 可执行文件?
我正在用Crystal编写一个程序,我打算编译并移动到其他系统执行。理想情况下,它应该没有依赖关系,因为目标系统将是 linux 的全新安装。
可悲的是,我无法绕过 libc 依赖项,因此我可能不得不在拥有我希望定位的最低版本 libc 的系统上编译可执行文件。我认为它应该是向前兼容的。
但是,我在使用 libssl 时遇到了困难。Debian Wheezy 的默认安装似乎没有附带 libssl,因此在运行可执行文件时出现此错误:
我假设存在这种依赖关系,因为我require "http/client"
在我的源代码中。但是,我没有进行与 ssl 相关的调用,因为我只使用它来连接到不安全的网站。
我显然也依赖于libevent-2.0.so.5
. 大概所有 Crystal 程序都可以。谁知道 Crystal 还有多少其他依赖项?
我的可执行文件必须在新安装的 linux 系统上运行。那么,如何生成没有依赖关系的 Crystal 可执行文件?除了libc,我想。
file - 如何在Crystal中将二进制写入文件
我有一个 UInt32 数组,将它写入 Crystal lang 中的二进制文件的最有效方法是什么?
到目前为止,我正在使用IO#write_byte(byte : UInt8)
方法,但我相信应该有一种方法可以编写比每 1 个字节更大的块。
crystal-lang - Crystal lang中的变量类型可以限制为从一个类继承的类吗
我是说:
是否可以将变量的类型限制为从Foo
没有联合的类继承,例如x : Foo+
?