OpalRB:使用函数作为参数

时间:2014-06-08 17:15:42

标签: javascript ruby opalrb

我在MeteorJS项目中使用Opal。

我正在试图找出一种方法来执行Meteor.startup代码,但它似乎无法正常工作..

我认为这样可行:

require 'native'

@Meteor = `Meteor`
@Meteor.startup do
  puts 'Go'
end

但事实并非如此。编译后的代码应如下所示:

Meteor.startup( function() {
  console.log( "GO" );
} );

在JS中将函数作为参数抛出是非常规律的,我们如何在Opal中执行此操作?

1 个答案:

答案 0 :(得分:4)

以下应该可以正常工作:

require 'native'

@Meteor = Native(`Meteor`)
@Meteor.startup -> {
  puts 'Go'
}

请注意,使用Native传递lambda而不是块