問題タブ [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.

0 投票する
1 に答える
506 参照

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>タグに含まれます。

0 投票する
2 に答える
130 参照

ruby-on-rails - サーバー側の Ruby をレールの opal ファイルに埋め込む

サーバー側の Ruby を Opal .js.rb ファイルに埋め込むことは可能ですか? 言い換えればUser.find(1)、.erb で行うように、Rails の一部の opal ファイルにアクセスする必要があります。

0 投票する
1 に答える
52 参照

javascript - Ruby コードを JavaScript に変換しようとしているときにエラーが発生しました

Rubyコードをjavascriptに変換するためにOpalを使用しようとしています。最初はかなり有望に見えましたが、私のクラスではうまくいきません。私には意味をなさない以下のエラーが表示されます。

これは、javascriptに変換しようとしているrubyファイルへの要点リンクです: query_builder.rb

これは、Ruby インタープリターで問題なくコンパイルされます。opal が互換性のないバージョンの ruby​​ を使用しているのか、それともどうなっているのかはわかりません。しかし、私のコードはかなり標準的な Ruby です。どんな助けでも大歓迎です。前もって感謝します。

0 投票する
1 に答える
35 参照

opalrb - Opal.rb ブリッジ クラスの内部メカニクス

ネイティブ クラスへのブリッジングが内部的にどのように機能するかを知りたいです。(それに関するドキュメントは見つかりません)。

function NativeClass() { this.foo = "bar"; } class MyClass <NativeClass; end

ES6またはcoffeescriptの継承に似ていますか(JSの観点から)?

通常のメソッドのように呼び出すことができる関数のメソッドを定義することは可能ですか (次のように:

RubyClass`.prototype`.foo = function(){RubyClass インスタンスの @accessor を返す} ) not the.$foo`.

後もう一つ。Ruby クラスがネイティブ クラスから継承している場合、その関数内でインスタンス化される Foo クラスのインスタンスを参照することは可能ですか?function(){this.bar = Foo's instance}?

(ネイティブから継承された) Ruby クラスからネイティブ クラスを返すことは可能ですか (たとえば、一部の JS ライブラリが引数としてネイティブ クラスを必要とする場合)。

0 投票する
1 に答える
69 参照

javascript - 開始を使用しますか? opal-browser からのメソッド

この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コミュニティがここで私を助けてくれることを願っています

0 投票する
1 に答える
22 参照

opalrb - getsctipt (または xhr'ed および evaled) を介してクライアントから呼び出された Opal ファイルを評価して使用することはできません

opal スクリプトを xhr して、そこに定義されている ruby​​ コードを使用したいと考えています。$.getScript で取得してみました。しかし、私にとっては成功しません。

さらに、スクリプトは (奇妙な方法で) 評価されます。つまり、コンソールから Opal.modules["file_i_required"] を呼び出すことができ、基本的にコンパイルされたコードが返されます。

しかし、その内部では何も評価されず(console.logsはありwindow["foos"] = #{something}ません)、そのファイルから何も参照できません。

何か助けはありますか?

0 投票する
0 に答える
379 参照

ruby-on-rails - Ruby: Web ブラウザーから Gosu ゲームを実行する

だから私がやりたいことはこれです:

  • ユーザーが www.website.com にアクセス
  • 「ゲームをプレイ」というボタンがあります
  • Gosu ゲーム (既に作成済み) がウィンドウを起動します。
  • ユーザーはゲームをプレイできます。

だから多分それは次のようになります:

私は周りを読んでいて、Jrubyを使ってそれをだまして実行させる方法があるかもしれないことを見てきました. また、Opal を使用して Ruby コードを JS に再コンパイルし、何らかの形でそのように実行するのは良い考えかもしれないと考えていました。

しかし、混乱を避けるために、質問は次のとおりです。上記の手順を実装することは可能ですか? 回答ありがとうございます。

0 投票する
2 に答える
46 参照

client - VoltRB で Chronic または ChronicDuration を使用した人はいますか?

chronicとのchronic_duration宝石を に入れましたがGemfile、すべてが で正常に動作しvolt consoleます。ただし、クライアント側で何かしようとすると、名前エラーが発生します。クライアント側の初期化子でそれらを要求しようとしましたが、それは役に立ちませんでした。

任意のヒント?

0 投票する
3 に答える
6308 参照

html - Ruby と HTML コードのリンク

タグの間にコードを挿入することで、Javascript コードを HTML ドキュメントに実装できることは承知しています。Ruby で<script></script>これを行う同様の方法はありますか?