如何判断我运行的是 JRuby 还是 Ruby?

2023-12-21

我有一个带有工厂方法的脚本,我想根据脚本是从 JRuby 还是从 Ruby 运行来返回某个类的不同实现。有人对我如何从脚本内部区分差异有任何想法吗?

我最初的一些想法是:

  • 尝试“包含 Java”,如果失败则返回 Ruby 实现。这个方法行不通。 Ruby 足够聪明,无论我的开始/救援/结束如何都会出错。

  • 用进程 ID 做一些愚蠢的事情。我宁愿避免这种情况,因为它总是感觉像是黑客攻击。


我相信你可以检查 RUBY_PLATFORM 常量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何判断我运行的是 JRuby 还是 Ruby? 的相关文章

  • Ruby `split':UTF-8 中的无效字节序列(ArgumentError)

    我正在尝试填充电影对象 但是在解析时u item文件我收到此错误 split UTF 8 中的无效字节序列 ArgumentError File open Data u item r do infile while line infile
  • 日期时间到 NSDate

    如何转换字符串2010 11 19T20 00 00Z进入一个NSDate object 我尝试过使用 dateFormatter setDateFormat yyyy MM ddTHH mm ssZ 但看起来我的自定义格式样式错误 PS
  • 在 RSpec 测试期间抑制控制台输出

    我正在测试在控制台上放置一些消息的类 包含 put p 警告等 我只是想知道在 RSpec 测试期间是否有能力抑制此输出 我压抑puts通过重定向在我的类中输出 stout到一个文本文件 这样 如果我出于任何原因需要查看输出 它就在那里 但
  • proc函数相对于方法有什么优点

    我正在解决一些问题欧拉计划 http projecteuler net 我提到我总是将短方法包装在 proc 函数中 我问自己 Why 答案是 我不知道 也许是因为它短 那么proc函数相对于普通方法除了短之外还有什么优点呢 Proc is
  • 使用brew时出现“错误的解释器”错误

    当我尝试运行任何 brew 命令时 出现此错误 Holger Sindbaeks MacBook Air holgersindbaek brew help bash usr local bin brew usr bin ruby bad i
  • postgres 数组字段上的 ActiveAdmin 过滤器

    我在 ActiveAdmin 中添加了以下过滤器 filter roles as select collection Model ROLES multiple true 但是当我选择过滤器值来搜索角色时 它给了我以下错误 PG Invali
  • 载波无法删除图像

    我现在使用 Carrierwave 上传图像 一切都很好 除了一个 当我添加用于删除上传图像的复选框时 我收到错误 无法批量分配受保护的属性 remove image Form Model class Manufacturer lt Act
  • 动态分配背景图片scss/sass

    我想要做的是有一个表单 您可以在其中上传图片 然后当您查看该对象时 图片会在特定 div 中居中 垂直和水平向上倾斜 其大小未知等 除非有办法使用 image tag 帮助器将其垂直居中 否则我希望能够使用该图像作为背景图像 在我的 css
  • 为什么 Ruby 使用 respond_to?而不是respond_to?

    我很好奇为什么 Ruby 用于检查对象是否响应方法的内省相关方法是respond to 代替responds to 我总是觉得很尴尬 但也许那是因为我已经习惯了respondsToSelector在 Objective c 中 Matz p
  • 默认更新嵌套属性

    我尝试更新 iProduction 这是生产中的嵌套表单 但此行出现参数错误 参数数量错误 0 代表 1 生产 update iproducts attributes cow id cow 我的创作动作制作 def create produ
  • Ruby 在特定目录中运行 shell 命令

    我知道如何在 Ruby 中运行 shell 命令 例如 x cmd 但是 如何指定运行此命令的目录 有没有类似的脱壳方式 类似subprocess Popen在Python中 subprocess Popen r c mytool tool
  • 下载前获取文件大小并计算已下载的文件大小 (http+ruby)

    谁能帮我 get the 之前的文件大小我开始下载 显示多少 已下载 require net http require uri url http www onalllevels com 2009 12 02TheYangShow Squid
  • 安装 Ruby 后,MAC OS X 上的活动开发人员路径无效

    我收到此错误 xcrun 错误 无效的活动开发人员路径 Applications Xcode app 缺少 xcrun Applications Xcode app usr bin xcrun This solution https sta
  • ruby 1.9.1 的 gem install mongrel 失败

    昨天我开始了 Rails 开发 我安装了 ruby 1 9 1 rubygems 和 Rails 跑步gem install mongrel工作得很好 表面上也安装了杂种 我有点困惑 因为 script server 默认启动 webric
  • Rails 中的 plusDomains.circles.addPeople 的 Google API 产生 403 Forbidden

    Using Google API Ruby 客户端 https github com google google api ruby client class GooglePlus def self follow contact contac
  • 如何在 Ruby 中使用 Safari 技术预览设置 Capybara

    我无法使用 Capybara 和 Selenium 与 Safari 技术预览版 STP 建立会话 Capybara 甚至不会打开浏览器窗口 我已升级到 Ruby 2 3 0 Capybara 2 14 2 Selenium 3 4 0我从
  • 在部分渲染时执行 JavaScript

    我有一些 JavaScript 代码 我想在用户单击其文件夹之一后执行 它会触发 show 操作和 show js erb 从而呈 现部分内容 Show js erb 当用户单击其文件夹之一时触发 如下所示 body append 它成功注
  • 检查 Float 是否等于 Ruby 中的整数值

    假设我有以下代码 x 0 8 y 1 0 最好的检查方法是什么y相当于Integer 目前我正在做 y to int y 这可行 但我觉得应该有更好的方法 You mod值为 1 并检查该值是否等于 0 if y 1 0
  • 从模块中获取类名

    如何从模块中获取该模块包含的类的类名 module ActMethods def some method attr names cls self class this doesn t work end end 如何进入 cls 变量 加载此
  • 如何查看移动设备是否已注册

    我正在使用适用于 Amazon SNS 的 Amazon AWS Ruby SDK 但在已注册的设备方面遇到一些问题 有时 当设备再次注册时 我会收到类似错误AWS SNS Errors InvalidParameter Invalid p

随机推荐

  • 在twisted中使用pymongo究竟有什么问题?

    我有一个扭曲的服务器应用程序 它与大约 1000 个客户端保持持久连接 每个客户端偶尔都会向我的扭曲服务器发送数据 我希望该服务器将数据存储到 MongoDB 数据库中 到目前为止 一切都很好 但是 pymongo 文档指出 没有好的方法可
  • React Native滚动视图禁用拉动刷新

    我正在使用 React Native v0 44 2 的滚动视图 我想禁用拉动刷新并仅生成我的视图的滚动 是否有另一种方法可以在不使用滚动视图的情况下做到这一点 我看到了一些旧版本 我不知道我是否最近放了这个动画 所以我的代码如下 rend
  • 如何在 Solr 3.6 中对两个字段进行排序

    在网络请求 URL 中有一个 排序 选项 但是 如何按两个字段排序 如果我做类似的事情 sort field1 asc sort field2 desc 根据我的观察 只有第一个字段将用于排序 你这样做 sort field1 asc fi
  • 由于单声道模块依赖性,XSP 配置失败

    我在 RHEL 5 机器上安装了 mono 如下所示 哪个单声道 usr local bin 单声道 mono V Mono JIT 编译器版本 2 10 2 压缩包 2013 年 10 月 16 日星期三 10 33 49 CDT 版权所
  • 无法听取偏好变化?

    class UserViewModel extends ViewModel appPrefs registerOnSharedPreferenceChangeListener preferenceChangeListener private
  • 对“device_show_int()”的调用是 Linux 内核错误吗?

    我首先问了这个问题 如何正确初始化平台驱动程序的属性组 https stackoverflow com q 24618284 32836 并得出函数调用的结论device show int 使用错误的函数原型来这样做 代码问题首先定义str
  • Oracle 中的分组依据与分区依据

    我正在编写一个查询来从 Oracle 仓库中获取记录 它是一个简单的选择查询 在几个表上进行连接 并且我有几个要聚合的列 因此我最终在其余列上使用 Groupby 假设我选择了大约 10 列 其中 5 列是聚合列 所以我需要对其他 5 列进
  • dateTime 抱怨 XSD 验证中的空格 (lxml)

    我正在尝试使用 XSD 验证文档 并且 lxml 抱怨 dateTime 值中的空格 尽管它应该折叠它 我不确定这是否是一种损坏的行为 或者我是否只是指定了 XSD 中的错误 花了一个小时尝试调试这个 所以希望其他人以前也经历过类似的行为
  • 在现有 C 项目中使用 Go 代码

    自从 Go 1 5 发布以来 我开始重新考虑如何将它集成到我现有的项目中 该项目的代码库完全用 C 编写 用于对硬件和其他有趣的东西进行低级访问 然而 一些更高层次的东西很乏味 我想开始用更高层次的语言 Go 来编写它们 有什么方法可以从
  • FFmpeg 支持的所有文件扩展名是什么

    我将如何获取 FFmpeg 支持的所有文件扩展名的列表 以便在 JavaFX 中的文件选择器使用的扩展过滤器中使用 我熟悉 FFmpeg 中的 codecs 和 formats 选项 但这些列出的格式和编解码器名称不一定与其文件扩展名一致
  • `JSONDecoder` 如何知道要使用哪种编码?

    读过乔尔谈编码 https www joelonsoftware com 2003 10 08 the absolute minimum every software developer absolutely positively must
  • 具有单一源代码树的纯 Java 和 Android 的 Gradle 项目

    我正在运行的项目包括纯 Java Swing UI 和 Android 部分 基本上源树由 3 部分组成 swing 30 of code src common 40 of code android 30 of code 我应该如何定义 g
  • 将 FlowDocument 转换为简单文本

    将 flowdocument 转换为简单文本的最简单和优雅的方法是什么 这个怎么样 string text new TextRange FlowDoc ContentStart FlowDoc ContentEnd Text
  • 我可以使用always emplace 代替insert 来插入单个元素吗?

    我想知道是否可以一直使用emplace取代insert当向STL容器中插入单个元素时 例如set unordered set 从签名来看 emplace更简单并且不涉及重载 停止使用有什么问题吗insert并使用emplace每时每刻 注意
  • 如果设置精度,为什么 Android LocationManager 在位置更新开始之前有很长的延迟

    如果我将任何准确性设置为标准 则 LocationManager 需要很长时间才能开始更新位置 Criteria criteria new Criteria criteria setAccuracy Criteria ACCURACY FI
  • 如何在Python列表中的特定索引处插入元素

    我正在创建一个列表 其项目将按索引号映射 我尝试使用list insert 方法 但还是总是这样将第一个元素添加到第 0 个索引我想要第一个索引处的第一个元素 例如 somelist somelist insert 1 Jack somel
  • CodeIgniter - 仅返回一行?

    目前 如果我正在对数据库进行查询 则应该只返回一行 使用 query stuff query this gt db gt get ret query gt result return ret 0 gt campaign id 是否有 Cod
  • 正则表达式仅适用于数字

    我没有太多使用正则表达式 所以我遇到了困难 我想要正则表达式只验证该字段包含数字 但不关心有多少 应该批准77和2377吧 但不批准 77 43 或 xyz777 我怎样才能使用正则表达式得到这个 是这个表情吗 0 9 好与不好 没关系 你
  • 如何使用 git-extensions 获取图标覆盖

    我已经使用 svn 有一段时间了 但现在我已经转向 git 了 根据我的发现 Tortoise Git 并没有让你很好地理解 git 的工作原理 这就是我选择 git extensions 的原因 问题是我习惯了 Tortoise 为我提供
  • 如何判断我运行的是 JRuby 还是 Ruby?

    我有一个带有工厂方法的脚本 我想根据脚本是从 JRuby 还是从 Ruby 运行来返回某个类的不同实现 有人对我如何从脚本内部区分差异有任何想法吗 我最初的一些想法是 尝试 包含 Java 如果失败则返回 Ruby 实现 这个方法行不通 R