问题标签 [opalrb]
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.
javascript - 获取 Ruby Opal 代码中的错误行
很明显,这段代码会在第 8 行崩溃。如果你用 Opal 解析它,你会得到这个编译代码:
当然它会抛出同样的错误。
但是,有没有办法确定这个错误来自哪个Ruby行?
我可以看到这个问题:Is there a way to show the Ruby line numbers in javascript generated by Opal,但我不明白答案:它引导我到https://github.com/opal/opal/tree/0 -6-stable/examples/rack,我不确定我应该看什么或做什么。
当我运行我的 javascript 时,我有一个index.html
加载opal.min.js
和的文件,opal-parser.min.js
最后我将编译的 Ruby-Javascript 代码放在一个<script>
标签中。
ruby-on-rails - 将服务器端 Ruby 嵌入到 rails 中的蛋白石文件
是否可以将服务器端 ruby 嵌入到 Opal .js.rb 文件中?换句话说,我需要访问例如User.find(1)
Rails 中的一些蛋白石文件,就像使用 .erb 一样。
javascript - 尝试将 ruby 代码转换为 javascript 时出错
我正在尝试使用Opal将 ruby 代码转换为 javascript。起初,它看起来很有希望,但它不适用于我的班级。我收到以下错误,这对我来说没有意义:
这是我试图转换为 javascript 的 ruby 文件的要点链接:query_builder.rb
这在我的 ruby 解释器中编译得很好。我不确定 opal 是否使用了不兼容的 ruby 版本或交易是什么。但我的代码是非常标准的红宝石。任何帮助将不胜感激。先感谢您。
opalrb - Opal.rb 桥接类内部机制
我想知道桥接到本地类在内部是如何工作的。(找不到任何文档)。
function NativeClass() { this.foo = "bar"; }
class MyClass <
原生类; end
它是否类似于 ES6 或咖啡脚本的继承(从 JS 角度来看)?
是否可以在函数上定义可以像常规方法一样调用的方法(例如:
RubyClass
`.prototype`.foo = function(){return RubyClass instances' @accessor} ) not the
.$foo`。
还有一件事情。如果 Ruby 类继承自本机类,是否可以在该函数中引用将被实例化的 Foo 类的实例,例如function(){this.bar = Foo's instance}?
是否可以从 Ruby 类(从原生继承)返回原生类(例如,如果某些 JS 库需要原生类作为 arg)?
javascript - 使用开始?来自蛋白石浏览器的方法
我正在尝试将此 js 代码翻译成 ruby 代码
document.ontouchstart ? 'touchstart' : 'click';
我正在使用 opal-browser 来获取浏览器功能。我目前的尝试是这样的:
touch = Browser::Event::Touch.new
puts touch.start?
但是,这会返回错误: Uncaught TypeError: Cannot read property 'type' of undefined
当我检查错误跟踪时,错误似乎来自 Touch 类中缺少的 name 属性。
希望 Opal 社区可以在这里帮助我
opalrb - 通过getsctipt(或xhr'ed和evaled)从客户端调用的蛋白石文件不能被评估和使用
我想 xhr 一些蛋白石脚本,并使用那里定义的 ruby 代码。我尝试使用 $.getScript 来获取它。但对我来说没有成功。
此外,脚本被评估(以奇怪的方式),我的意思是我可以从控制台调用 Opal.modules["file_i_required"] ,它基本上会返回编译后的代码。
但是在它里面什么都没有被评估,(没有 console.logs,window["foos"] = #{something}
),我不能从那个文件中引用任何东西。
有什么帮助吗?
ruby - `require_table` 变量是如何以及在哪里存储的?(蛋白石Rb)
所以,我最近正在阅读OpalRb 的 require 系统,并遇到了有趣的require_table
变量。通读那里的方法,很明显require_table
用于查看文件是否已经加载,对于像require
or之类的方法loaded
。但是,我不确定这个变量的存储方式和位置。opal/corelib/runtime.js
一旦浏览器重新加载页面,文件不会重新加载,从而重置' require_table
s 的值吗?我想我只是想更好地理解require
浏览器的动态是如何工作的。
ruby-on-rails - Ruby:从网络浏览器运行 Gosu 游戏
所以我想做的是:
- 用户访问 www.website.com
- 有个按钮叫“玩游戏”
- Gosu 游戏(我已经写过)将启动窗口。
- 用户可以玩游戏。
所以也许它看起来像这样:
我一直在阅读,我发现可能有一种方法可以通过使用 Jruby 来欺骗它运行。我还认为使用 Opal 将 Ruby 代码重新编译为 JS 并以某种方式运行它可能是一个好主意。
但为避免混淆,问题是:是否可以实施上述步骤?感谢您的任何回答。
client - 有人在 VoltRB 中使用过 Chronic 或 ChronicDuration 吗?
我已将chronic
和chronic_duration
gem 放入我Gemfile
的 . 中,一切正常volt console
。但是,如果我在客户端尝试任何操作,我会收到名称错误。我尝试在客户端初始化程序中要求它们,但这没有帮助。
有小费吗?
html - 将 Ruby 与 HTML 代码链接
我知道您可以通过在标签之间插入代码来将 Javascript 代码实现到 HTML 文档中<script></script>
。有没有类似的方法可以用 Ruby 做到这一点?