問題タブ [psych]
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 > Psych -> yaml ドキュメントを解析して ruby オブジェクトにする方法
私は次のことをしようとしています:
- 複数の yaml ドキュメントを含むファイルを開いて読み取る
- yaml ドキュメントを解析して Ruby オブジェクトにする
- 各ルビオブジェクトの内容を出力する
そしてコード:
puts は yml_string (複数の yaml ドキュメント) の内容を出力しますが、これは 1 つの長い文字列です。yml_string から各 yaml doc を解析し、それらを ruby オブジェクトに格納するにはどうすればよいですか?
infile の内容 (OP のコメントに基づく):
ruby-on-rails - ~/ruby-2.1.1/lib/ruby/2.1.0/psych.rb:370:in `parse': (): マッピング値は ... 行 3、列 8 (Psych::SyntaxError)
私はRailsの初心者です。Linux mint 16 で RoR を使用すると、バンドルのインストールで問題が発生するようです。このエラーを生成するコマンドのリスト:
gem install bundler
、bundle install --without production
、bundle update
、gem install pg
または任意gem install <insert_gem_here>
(以下のハイパーリンクを削除)
[悪いgemfile]
yaml - 修正: 0.1.6 より前では、libyaml は、悪意のある YAML ペイロードからのヒープ オーバーフロー エクスプロイトに対して脆弱です。
vcr gem を追加した後に rspec を実行すると、次のエラーが発生します。提案どおりに実行するだけでgem install psych -- --enable-bundled-libyaml
は、問題は解決しません。私は rbenv と ruby-build を使用しており、ruby 2.1.1 を使用しています。これを修正するにはどうすればよいですか?
r - corr.test はどのデータフレームにも使用できますか?
psych パッケージの corr.test を使用して、データフレーム ( ) 内の変数間の相関と p 値を取得しようとしてdf1
います。データフレームの変数はすべて整数で、NA はありません。しかし、を実行するとcorr.test(df1)
、常にエラー メッセージが表示されます。
corr.test(sat.act)
サンプル ( ) を psych パッケージで実行しようとしましたが、エラーはありません。私はRを初めて使用します。誰かがデータフレームの何が問題なのか教えてもらえますか?
r - psych r パッケージの pca: 説明された分散の合計 % とモデル適合度のみを取得する方法は?
私が構築している光沢のあるアプリでは、説明された分散と (r パッケージ psych の) 主関数の出力のモデル適合測定値のみを表示したいと考えています。出力の構造を調査しましたが、残念ながら (そしておそらく少し奇妙なことに) これらの値の正確な場所を見つけることができませんでした。出力からこれらの値を取得する方法を知っている人はいますか?
ruby - エイリアスを展開するRubyでYAMLを発行する方法
エイリアスの使用を避けて YAML ファイルを発行する方法を探しています (主に人間が読みやすくするため)。Psych::Visitors::Emitter
or
を拡張するのが道だと思いますPsych::Visitors::Visitor
が、Ruby がアンカーを完全にダンプするか、エイリアスで参照するかを決定する場所を実際に見つけることができません。
アンカーが (&...... 参照と共に) 繰り返し使用されても気にしません。エイリアスを完全な構造に展開するだけで済みます。
過去に同様の質問があったことは承知していますが、
- エイリアスなしのRuby YAML書き込みは未回答のままでした
- RubyまたはPythonを使用して、アンカー/参照を無効にして有効なYAMLを発行することは可能ですか? Pythonには答えましたが、Rubyには答えませんでした
ruby - Psych は決定論的な YAML を発行できますか?
すなわち。同等のハッシュ(辞書)がシリアル化されるたびに、Psychに同じアンカー番号を選択させることは可能ですか?
YAML.dump(some_hash) を実行し、後で YAML.dump(some_other_hash) を実行します。ハッシュは完全に同一ですが、必ずしも同じメモリを占有するとは限りません。
some_hash の YAML にはアンカー *70312330894080 があり、some_other_hash には *70312318281380 があります。
同一のハッシュで同一の YAML を生成したいと考えています。YAML を文字列比較して同一性をテストできるようにします。
ありがとう、マット