问题标签 [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 - 用 UInt8 变量定义方法
我有UInt8
变量的方法:
这样我得到错误:
我知道我可以用初始化 Object_u8
但是有没有办法自动做到这一点_u8
?
附言
问题不仅与UInt8
,而且与所有Int
s 类型有关
ruby-on-rails - 如何重用 HTTP 连接并在 Sidekiq 后台作业之间共享?
我的应用程序向第三方服务器发送多个 API 请求并在后台作业中获取响应。现在每个作业都会打开新的 Http 连接并在收到响应后关闭它。如果可以在我的所有应用程序的工作之间共享这种联系?如何在工作池正在进行时保持它的活力?最后怎么关闭?谢谢。
crystal-lang - 如何从 POST 请求中解析数据
我有一个 getter 上下文:HTTP::Server::Context 和一个登录表单。
现在我想从 context.request.body 解析数据以获取用户输入的用户名和密码。
响应的内容类型:application/x-www-form-urlencoded
crystal-lang - 如何测试私有方法?
有没有使用 Crystal 的内置spec
库对私有方法进行单元测试的方法?
我来自 PHP 背景,可以使用它ReflectionMethod::setAccessibility
来更改方法对公共的可访问性以允许对其进行测试。我在 Crystal API 文档中找不到任何类似的东西,所以只是想知道这样的东西是否存在。
crystal-lang - Crystal C 绑定:参数 const unsigned char **
这是我正在尝试使用的 C 函数的签名(它生成二进制数据数组):
我将其映射为:
在 C 中使用它的工作示例:
但在水晶中:
crystal-lang - Crystal C 绑定:使用 fopen
我需要将 fopen 用于库。这是正确的方法吗?fopen 是否已经在某处定义?(这在 LibC IMO 中会很有用)
它工作正常,我想知道定义它的最佳方法。
crystal-lang - 在 Crystal 中将二进制数据写入标准输出
我正在尝试将二进制数据输出到标准输出(使用 Kemal 提供一些动态二进制数据)。
这是一个测试:
我试过没有成功:
crystal-lang - Crystal web app / Kemal的应用服务器
作为 Rails 开发人员,我习惯于在我们的服务器中使用 Nginx + Unicorn。
Crystal web apps / Kemal 是否有类似的解决方案?
我不是 Nginx 专家,但我想我可以直接使用 proxy_pass 到 Crystal HTTP 服务器或 Kemal 或 fast-http-server ......我想念的是进程管理、GC 选项、重新生成等。
linux - 将最大虚拟内存大小增加到 256gb 以上
我正在运行一个使用 mmap 分配 8mb 堆栈的程序。在测试我可以分配多少堆栈(目标为 100,000)时,我看到虚拟内存大小按预期迅速增加,并且保留大小保持较小(小于 1gb)。然后程序会出现Cannot allocate new fiber stack: Cannot allocate memory (Errno)
. gdb
用于挽救段错误然后查看 htop,我发现这发生在大约 256GB 的虚拟内存处。
我prlimit --as=unlimited --rss=unlimited --memlock=unlimited --data=unlimited
在运行程序时尝试过使用,但似乎没有什么不同。
有没有办法增加这个限制?是否建议增加此限制?水晶分配堆栈有更好的方法吗?
ruby - 返回可选值的惯用方式是什么?
我只是有点撞墙在这里。假设我的代码如下所示:
这里的返回值是 Int 或 Nil。我已经习惯了可选项的概念(在 Rust、F#、Haskell 等语言中),这真的让我很困惑。
我意识到我可以毫无问题地返回任何类型的值,但是从更实用的背景来看,它只是感觉不对。
在 Rust 中,我会返回一个Option<T>
. 这样我就可以很容易地测试是否Some
返回了值,或者没有值(None
)。不过,在 Ruby/Crystal 中,这似乎是一件愚蠢的事情。
所以,问题来了:
如果nil
没有有用的价值来返回和测试,我是否应该返回,这是处理此类情况的惯用方式吗?如果没有,我应该如何以惯用的方式做到这一点?