問題タブ [rubinius]

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 に答える
460 参照

ruby - Ruby に相当する FuckItJS

FuckItJS

Javascript エラー

FuckItJS は最先端の技術を使用して、コンパイラが好むと好まざるとにかかわらず、JavaScript コードが確実に実行されるようにします。

テクノロジー

Eval-Rinse-Reload-And-Repeat と呼ばれるプロセスを通じて、FuckItJS はコードを繰り返しコンパイルし、エラーを検出してスクリプトからそれらの行を切り出します。このような暴力的なプロセスを乗り切るために、FuckItJS は繰り返しのたびに自分自身をリロードし、onerror ハンドラーがひどく書かれたコードのすべてのエラーをキャッチできるようにします。

lib/my_file.rbRubinius で次のエラーが発生する原因となっているコードを特定しています。

現在、コードの一部をコメントインおよびコメントアウトして、エラーの原因を確認しています。このプロセスを自動化できるライブラリはありますか?

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

ruby-on-rails - リファクタリング前後のRailsの「実行可能ファイル」を比較するには?

C では、実行可能ファイルを生成し、大規模な名前変更のみのリファクタリングを実行してから、実行可能ファイルを再度比較して、実行可能ファイルが変更されていないことを確認できました。これは、リファクタリングによって何も壊れないようにするのに非常に便利でした。

Ruby、特にRailsアプリで似たようなことをした人はいますか? 戦略と方法は高く評価されます。理想的には、純粋にバイトコードであり、名前の変更によって変更されていない、ある種の単一のファイルを出力するスクリプトを実行できます。ここでは JRuby または Rubinus が役立つと思います。

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

ruby-on-rails - ルビニウスをきれいに取り除くにはどうすればよいですか?

http://railsinstaller.org/を使用して一連のパッケージをインストールしました。rails new myApp次に、呼び出してレールアプリを作成しましたrails serverが、残念ながら次のエラーが発生しました:ここをクリック

したがって、rubinius を削除するか、Ruby とそのすべての依存関係を何らかの形でクリーン インストールするほうがよいと思いますが、誤っていくつかのファイルを削除して、それらが何であったかを覚えていない可能性があるため、問題になる可能性があります。

助けてくれてありがとう。

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

ruby - Rubinus ま​​たは MRI 1.9.3 (YARV)?

いくつか質問があります。インターネットを閲覧しましたが、信頼できる回答はあまりありませんでした。ほとんどのブログ投稿は、お互いに異なることを賞賛し、「自分の見解を証明する」ためのベンチマークを持っていたため、互いに打ち消し合っていました (人生でこれほど多くの矛盾するベンチマークを見たことがありません)。

とにかく、私の質問は次のとおりです。

  • ルビニウスは本当に速いですか?私は、この明らかに正直な親ルビニウスのプレゼンテーションにかなり感銘を受けました。私を少し混乱させるもう 1 つのことは、多くの Rubinius が Ruby 自体で書かれているにもかかわらず、どういうわけか C-Ruby よりも速いということです。それなら、言語の非常に優れた実装に違いありません!
  • EventMachine は Ruinius で動作しますか? 私の知る限り、EventMachine は 1.9 まで実装されていなかったファイバーに部分的に依存しています (間違っていたら訂正してください)。Rubinius がいずれ 1.9 もサポートすることはわかっています。少し待っても構いません。
  • C 拡張機能は Rubinius で動作しますか? TCP ストリームから受信したバイナリ メッセージを Ruby オブジェクトに、またはその逆に「シリアル化」する C 拡張機能を作成しました (詳細は重要ではないと思いますが、この質問への回答に役立つ場合は、投稿を更新します)。これはたくさんのメッセージになる可能性があります!私は Ruby で同じコードを書くことができました (ただし、1 か月後にはほとんど意味がありませんでした) が、アプリケーションの本当のボトルネックであることが判明しました。そのため、問題の「解決策」として C を使用する必要がありました。 編集:私はちょうど思い出しました、私は別のタスクに C を使用します。これは配列のヒット テスト メソッドです。基本的には、「ポイント」がポリゴン内にあるかどうかをチェックするだけで、CRuby では信じられないほど遅かったです。
  • 前の答えが「いいえ」だった場合、Rubinus に C 拡張機能の代替手段はありますか? VM は C++ で記述されているので、そのようにします。

いくつかの「おまけ」の質問:

  • C-Ruby (2.0+、YARV) は GIL を取り除く予定はありますか? または、少なくともそれを変更して、CRuby が真の並列処理をサポートするようにしますか?
  • mrubyとは正確には何ですか? 私は matz がそれに取り組んでいるように見えます。CRuby との違い (パフォーマンス面) は?

私があなたに解き放ったこのテキストストームをお詫びします!♥

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

ruby-on-rails - Rubinius で Ruby 1.8.7 を 1.9.2 にアップグレードする方法

「ruby -v」コマンドをコンパイルすると、

Ruby 1.8.7 を 1.9.2 にアップグレードするにはどうすればよいですか? rubinius を削除する必要がありますか?

ありがとう、

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

ruby - CentOS6.3にRubinius2.0.0-rc1をインストールします-インストールしたのにlibyamlが見つからないと文句を言います

RVM関連する解決策をアドバイスしないでください、私はそれを使用しません。Rubiniusをソースからインストールしています。以前ににインストールlibyamlしました/usr/local。以下に詳述する以下の試みはいずれも失敗し、共有オブジェクトlibyaml-0.so.2が見つかりません。

ショーはにインストールされているため、libディレクトリを指す必要はありませんlib64locate libyamllibyaml/usr/local/lib

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

ruby - Rubinius を使用して ruby​​ オブジェクトに「source」属性を追加する

私は (楽しみと利益のために) Ruby でオブジェクトを検査し、そのソース コードを発見する機能を追加しようとしています。生成されたバイトコードではなく、内部表現の逆コンパイルされたバージョンではなく、そのオブジェクトを作成するために解析された実際のソースです。

私は Rubinius について学ぶのがかなり遅かったので、まだ完全には理解できていませんが、いくらか進歩したと思います。

しかし、私はこれを行う方法を理解するのに苦労しています。私の最初のアプローチは、単に別のインスタンス属性を AST 構造 (たとえば、ClosedScope オブジェクト用) に追加することでした。次に、実行時にバイトコードが解釈されるときに、どういうわけかその属性を再度引き出します。

これは健全なアプローチのように思えますか?

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

ruby - Rubinius 2.0.0 を使用して Celluloid を gem インストールできません

rvmをに設定しました

バージョンを正しく設定します

しようとすると

エラーが発生します

どうしたの?Celluloid が Rubinius をサポートしているのは、それが推奨されるインタープリターであることを知っています。https://github.com/celluloid/celluloid

更新: このリンクのおかげでわかりましたhttps://gist.github.com/4123305

-X19 フラグを渡す必要がありました

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

ruby - Cross-Implementation Deterministic Array#shuffle

Array#shuffleシャッフルを決定論的にする乱数ジェネレーターを渡すことができます。

たとえば、MRI1.9.3p327では次のようになります。

ただし、Randomの乱数ジェネレーターの実装は指定されていません。このため、Rubyの他の実装では結果が異なります。

Rubinius 2.0.0rc1(1.9.3リリース2012-11-02 JI):

ちなみに、jruby-1.7.1はMRI 1.9.3p327と同じ乱数ジェネレーターを使用していますが、これは偶然であり、保証されていません。

実装全体で一貫性のある決定論的なシャッフルを行うために、カスタム乱数ジェネレーターをに渡しArray#shuffleます。これは簡単なことだと思いましたが、かなり複雑であることがわかりました。

これが私が最初にMRIで試したことです:

NoMethodError実装する必要のあるインターフェースを教えてくれると期待していました。

洞察はありますか?


アップデート:

@glebmが指摘しているように、必要なインターフェースであるNotRandom継承された。Kernel#randこれは簡単に回避できますが、残念ながら解決策はありません。

RBXの場合:

MRIの場合:

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

ruby - Rubinius Syntax Errors

While working with LocomotiveCMS using Rubinius I ran into a bunch of syntax errors. All were along the lines of expecting '|'. No one was posting issues about this so I figured I would ask: How do I resolve these issues? Is this a problem with Rubinius?