问题标签 [mri]
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.
ruby - 为什么我不能直接打印reduce/inject的结果
在 ruby 解释器中发现了一个有趣的怪癖——至少在 MRI 2.4.2 中。
据我所知,下面的每个代码片段都应该打印“123”。如果我尝试直接打印 reduce 的结果,我会得到NoMethodError: undefined method '' for 1:Integer
(或数组包含的任何类型)但是如果我首先保存结果然后打印它,它工作正常..
所以,这段代码被破坏了:
这段代码有效:
这些应该完全一样,对吧?这应该作为错误提交吗?我只是在这里遗漏了一些基本的东西吗?
我认为它至少应该显示试图调用哪种方法。在谷歌中找不到任何关于没有方法名称的未定义方法...
ruby - MRI 优于 JRuby 的典型工作负载示例有哪些?
我有一个 Ruby 网络服务,我最近检查了使用 JRuby(9.1.17.0,OpenJDK 1.8)相对于当前使用 MRI(2.5.0)是否会提高性能。我预计可能会出现这种情况,因为性能瓶颈是为计算响应数据而执行的大量“基本算术”,而 JRuby 在计算量大的基准测试中往往优于 MRI。
然而,事实证明并非如此:我尝试了许多 JRuby/JVM 选项的组合,但“稳定状态”比 MRI 慢 2 倍。在重复请求约 100 次后达到稳定状态,此时 JVM 显然正在发挥其 JIT 魔力,因为性能相对于初始请求提高了 2.5 倍。
我想了解这是预期的还是意外的行为。所以我想知道:预计 JRuby 会比 MRI 慢的典型工作负载是什么?其中确实是“浮点数的基本算术”吗?
(MRI 和 JRuby 的性能瓶颈在同一个地方,使用适当的分析器确定。最初这篇文章说 JRuby 只慢了 20%,但我已经引入了一项优化,将 MRI 性能提高了近 2 倍,但是几乎没有改变 JRuby 的性能。我怀疑 JVM 自动执行了相同的优化,因为它基本上相当于“恒定折叠”)
ruby - `[[1, 2]].map {|xy@(x, y)| 等参数中的 as 模式是否存在有效的 Ruby 语法?[xy, x + y]}`?
鉴于以下目前在 Ruby 中工作,就像 Haskell 的构造函数模式匹配的一个非常有限的版本:
我想知道它是否还支持“as-patterns”(Haskell 称之为)的语法,这基本上是将多个绑定放在相同的参数上,如下所示:
我尝试@
了和其他符号,但它们都导致语法错误。
ruby - 学习 Ruby 语法的最官方文档或方法是什么?
有https://ruby-doc.org/docs/ruby-doc-bundle/Manual/man-1.4/syntax.html,由 Yukihiro Matsumoto 本人撰写,但鉴于我找不到提及&.
(eg a&.b
) 或&:
(eg m(&:f)
),它似乎不是很更新。我记得曾几何时,有人试图根据 MRI 的单元测试记录它,但由于缺乏开发人员的协作而放弃并放弃了该项目。
现在,似乎唯一的学习方法是在 StackOverflow 或一些开源 ruby 项目上偶然发现新语法。
docker - 使用 NAS 设置 XNAT 服务器
我正在使用他们的容器服务设置 XNAT 服务器。但我想将我的文件存档在单独的服务器/NAS 中。
有没有人这样做过?有这方面的教程吗?
谢谢。
imagej - 使用 ImageJ MRI Retina Tool ijm 的错误消息
有人可以帮我弄这个吗?有些图像我可以测量,但有些我不能。然后弹出此错误消息。我使用相同的设置测量了所有这些,但有些我可以测量,有些我不能。
这是我遇到的问题:
如果有人可以帮助我,我将非常感谢您的帮助。
谢谢你。
ruby - 分配是红宝石MRI中的原子操作吗?
假设我的课堂上有这两种方法。
我将产生多个线程来调用set_val
不同的值。是否保证读取 from@val
返回正确的值,即不是最后分配的值,而是传递给的值set_val
?我在阅读时会得到一些奇怪的东西吗?赋值操作是原子的吗?无论线程数如何,它都是不可分割的吗?
c - 如何将用 C 编写的块传递给 Ruby 的 rb_mod_refine?
也许更一般地说,你如何将一个用 C 编写的块传递给另一个接受块的 C 函数?我知道我可以做这样的事情:
但我觉得必须有一种方法可以rb_mod_refine
直接调用而不是通过rb_block_call
.
有任何想法吗?谢谢!
image - 如何使用 ADNI 数据集将 ImageDataGenerator 与 nii/NIFTI 文件一起使用
我正在尝试使用 keras 的 ImageDataGenerator 类加载我的数据,但我遇到了麻烦,因为图像文件不是标准的 jpeg/png 图像文件,而是 nii.gz 文件。我找到了这个 github repo https://github.com/sremedios/nifti_image_generator/blob/master/utils/nifti_image.py但输出的尺寸不匹配并且
引发错误
ruby - 在 Ruby 中,为什么 `while true do i += 1 end` 不是线程安全的?
根据这篇文章,i += 1
在 MRI Ruby 中是线程安全的,因为抢占只发生在函数调用结束时,而不是介于i += 1
.
但是为什么while true do i += 1 end
不是线程安全的,如下面的第二个测试所示,当线程 1 仍在执行时,线程 1 被线程 2 抢占了while true do i += 1 end
?
请帮忙。
以下是代码参考:
测试一:
测试二: