org.jruby.Ruby.useAsGlobalRuntime()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(1.7k)|赞(0)|评价(0)|浏览(111)

本文整理了Java中org.jruby.Ruby.useAsGlobalRuntime方法的一些代码示例,展示了Ruby.useAsGlobalRuntime的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Ruby.useAsGlobalRuntime方法的具体详情如下:
包路径:org.jruby.Ruby
类名称:Ruby
方法名:useAsGlobalRuntime

Ruby.useAsGlobalRuntime介绍

[英]Convenience method for java integrators who may need to switch the notion of "global" runtime. Use JRuby.runtime.use_as_global_runtime from Ruby code to activate the current runtime as the global one.
[中]对于可能需要改变“全局”运行时概念的java集成商来说,这是一种方便的方法。使用JRuby。运行时。使用Ruby代码中的_as_global_运行时将当前运行时激活为全局运行时。

代码示例

代码示例来源:origin: org.jruby/jruby-complete

/**
 * Run the provided (required) block with the "global runtime" set to the current runtime,
 * for libraries that expect to operate against the global runtime.
 */
@JRubyMethod(module = true)
public static IRubyObject with_current_runtime_as_global(ThreadContext context, IRubyObject recv, Block block) {
  final Ruby current = context.runtime;
  final Ruby global = Ruby.getGlobalRuntime();
  try {
    if (current != global) {
      current.useAsGlobalRuntime();
    }
    return block.yield(context, runtime(context, recv)); // previously yield (without an argument)
  }
  finally {
    if (Ruby.getGlobalRuntime() != global) {
      global.useAsGlobalRuntime();
    }
  }
}

代码示例来源:origin: org.jruby/jruby-core

/**
 * Run the provided (required) block with the "global runtime" set to the current runtime,
 * for libraries that expect to operate against the global runtime.
 */
@JRubyMethod(module = true)
public static IRubyObject with_current_runtime_as_global(ThreadContext context, IRubyObject recv, Block block) {
  final Ruby current = context.runtime;
  final Ruby global = Ruby.getGlobalRuntime();
  try {
    if (current != global) {
      current.useAsGlobalRuntime();
    }
    return block.yield(context, runtime(context, recv)); // previously yield (without an argument)
  }
  finally {
    if (Ruby.getGlobalRuntime() != global) {
      global.useAsGlobalRuntime();
    }
  }
}

相关文章

Ruby类方法