問題タブ [yarv]
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.
ruby - どの Ruby インタープリターを楽しみにしていますか?
現在、複数の Ruby 実装が進行中です。あなたはどちらを楽しみにしていますか、そしてその理由は何ですか? 本番環境で MRI 以外の実装を積極的に使用していますか?
オプションのいくつかは次のとおりです。
ruby - 「sendsig: useracc failed.」を診断/追跡する方法。HP-UX の問題
HP-UX で Ruby 1.9.1-p0 をコンパイルしようとしています。ext/pty.c に小さな変更を加えた後、多くの警告メッセージ (約 5K) が表示されますが、正常にコンパイルされます。「make test」を使用してセルフテストを実行すると、クラッシュし、次のエラーでコアダンプします。
sendig: useracc が失敗しました。0x9fffffffbf7dae00 0x00000000005000
Pid 3044 は、シグナル コンテキストの書き込みに失敗したために強制終了されました - スタック オーバーフローの可能性があります。
違法な指導
この問題をグーグルで調べたところ、不正な命令はシステムがプロセスを強制終了するために使用する単なる信号であり、問題とは関係ありません。シグナル ハンドラを呼び出すときのコンテキストの再確立に問題があるようです。gdb でコアを起動しても特に深いスタックは表示されないため、「スタック オーバーフローの可能性」も正しくないと思います。
gdb スタック バックトレースの出力は次のようになります。
ruby - RubyVM :: InstructionSequenceに関するドキュメント?
Ruby 1.9では、YARV-VMがRubyに統合されました。したがって、http: //www.atdot.net/yarvは古くなっているようです。
ドキュメントはどこにありますRubyVM::InstructionSequence
か?特に#compile_file
?
http://www.atdot.net/yarv/insnstbl.htmlのような最新の指示表はどこにありますか?
ruby - RVM 1.9.1&nokogiri
rvmruby1.9.1でのnokogirigemのインストールに問題があります。
私は...
しかし、私はチェックしました:
そして私は得た:
これはおそらく根本的なことですか?RVMはすべてをユーザースペースで実行します。
ruby - Ruby1.9.xのYARVコンパイラを無効にする
ruby 1.9.xと1.8.7を使用してコマンドラインから仕様を実行する場合、アプリケーションの開始時間に非常に顕著な違いがあります。私のアプリケーションは、ruby1.9.1または1.9.2よりもruby1.8.7の方がはるかに高速に起動します。アプリケーション開始の差は約18秒です。アプリが1.8.7で初期化されるのに約5秒かかり、1.9.1と1.9.2で23秒かかります。
アプリケーションの初期化時間は、本番環境では大きな問題ではありませんが、BDD開発では非常に大きな問題です。コードを変更して仕様を実行するたびに、反復ごとにさらに18秒待つ必要があります。
このアプリケーションの初期化時間は、アプリケーションの初期化時にバイトコードをコンパイルするYARVに起因すると思います。
YARVがアプリケーションの初期化を遅くすることについては正しいですか?コマンドラインでYARVを無効にする方法はありますか?スペックを実行しているときにのみYARVを無効にできると非常に便利です。
ruby - すべてのRubyインタープリターは同じRuby構文に従いますか?
すべてのRubyインタープリターは、www.ruby-lang.orgで定義されているのと同じRuby構文に従いますか?
- MRI
- YARV
- ルビニウス
- JRuby
- IronRuby
Ruby言語を定義するのはインタプリタだからです。つまり、1人の通訳者が、他の通訳者にはない機能/糖衣構文を追加できるということですか?
その場合、すべてのインタープリターは独自のAPIドキュメントを持っていますか?
私が使用している原因:http://ruby-doc.org/ruby-1.9/index.html。
どのインタプリタがそれを実装していますか?
誰かがこのトピックに光を当てることができますか?
ありがとう!
ruby - Ruby 1.9 でバイトコードを生成するには?
Ruby 1.9 からバイトコードを生成するにはどうすればよいですか??
私の意図は、ソース コードではなくバイトコードを生成し、それをアプリケーション パッケージと共に出荷することです。私はJRubyのアプローチを認識していますが、そこで特定の問題に直面しています
ruby - YARVのグローバルインタープリターロックを無効にすることは可能ですか?
これは他の何よりも好奇心が強いです(私はそれを完全に削除してjRubyを試す必要があります)が、YARVルビーのグローバルインタープリターロックと他の関連するロックを無効にすることは可能ですか?
YARV Rubyのライブラリの一部はスレッドセーフではないため、これは「保証が無効になる」と思いますが、他の問題が発生する可能性はありますか?
c - Ruby の Enumerable#zip は内部で配列を作成しますか?
Rubyでは- 2 つの Enumerator をエレガントに比較すると、
zip の問題は、渡した Enumerable に関係なく、内部で配列を作成することです。入力パラメータの長さには別の問題があります
YARV での Enumerable#zip の実装を調べたところ、
次のビットを正しく理解していますか?
すべての引数が配列であるかどうかを確認し、そうである場合は、配列への間接参照を直接参照に置き換えます
すべてが配列でない場合は、代わりに列挙子を作成します
ブロックが指定されていない場合にのみ、配列の配列を作成します
すべてが配列の場合は を使用しzip_ary
、それ以外の場合は を使用しzip_i
、値の各セットでブロックを呼び出します
ブロックが指定されていない場合は配列の配列を返します。それ以外の場合は nil ( Qnil
) を返しますか?
ruby - Ruby で Fixnum の + (プラス) メソッドを再定義し、元の + 機能を保持するにはどうすればよいですか?
これにより、1.9.2 Ruby で SystemStackError がスローされます (ただし、Rubinius では機能します)。
しかし、 (他のエラーに基づいて) super
forはありません。+
+
元の機能にアクセスするにはどうすればよいですか?