我有一个带有工厂方法的脚本,我想根据脚本是从 JRuby 还是从 Ruby 运行来返回某个类的不同实现。有人对我如何从脚本内部区分差异有任何想法吗?
我最初的一些想法是:
尝试“包含 Java”,如果失败则返回 Ruby 实现。这个方法行不通。 Ruby 足够聪明,无论我的开始/救援/结束如何都会出错。
用进程 ID 做一些愚蠢的事情。我宁愿避免这种情况,因为它总是感觉像是黑客攻击。
我相信你可以检查 RUBY_PLATFORM 常量。