問題タブ [ironruby]
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.
c# - コレクション内のアイテムを削除したRuby.each
私は現在、rubスクリプトを介してドロップダウンリスト内のアイテムの実行時の追加と削除を可能にするアプリを使用しています。Rubyはこんな感じ
コントロールはカスタムユーザーコントロールであり、そのアイテムはListItemCollctionです。Rubyコードを正しく取得するために単体テストを実行していて、問題が発生しています。私が渡しているListItemColletionは次のようになります。
パイプを含む2つのアイテムを残す代わりに、このコードは常にアイテムコレクションに3つのアイテムを残すように見えます。3は、アイテムを入れた順序によって異なります(この順序では、Item1、Item3、Item5が残ります)。これにより、削除が台無しになっていると思います。また、コレクションのコピーを取り、それをループして、元のコレクションから削除して、繰り返し処理していたコレクションから削除しないようにしました。私はRubyに関係のある初心者なので、気楽にやってください...しかし、いくつかのアドバイスを使うことができます。
ありがとう
c# - C#メソッドでIronRubyブロックを使用する方法
私はIronRubyを使用していて、C#メソッドでブロックを使用する方法を見つけようとしています。
これは私がエミュレートしようとしている基本的なRubyコードです。
C#とIronRubyで同じことをしようとする私の試みは次のとおりです。
BlockTestClassは次のとおりです。
C#コードを実行すると、次の例外が発生します。
引数の数が間違っています(1の場合は0)
IronRubyスクリプトを次のように変更すると、機能します。
しかし、元のRubyの例と同等になるように、元のIronRubyスクリプトで動作させるにはどうすればよいですか?
c# - IronRubyラッパーメソッドを使用して、ブロックをC#に取り込みます
私はIronRubyを使用していて、ブロックをC#に渡すためのシームレスな方法を考え出そうとしています。この質問は、 C#でIronRubyブロックを使用する方法の続きであり、IronRubyとC#の間でブロックを渡すことができないことを示しています。
私の次の質問は、Rubyラッパーメソッドを使用してブロックをラムダまたはProcオブジェクトにし、それをC#に渡す方法で同じ目標を達成する方法があるかどうかについてです。
私がやりたいことの線に沿ったいくつかのコードを以下に示します。コードは機能しませんが、意図が十分に明確であることを願っています。
C#BlockTestクラスは次のとおりです。
ruby - IronRuby:1つ以上の引数を持つCOMオブジェクトのメソッドを呼び出すことはできません
1つ以上の引数を取るCOMオブジェクトでメソッドを呼び出そうとすると、最後の引数で次のエラーが発生します。
引数をとらないメソッドを呼び出すとき、またはプロパティを取得/設定するときは、すべて正常に機能します。上記のエラーを表示するコードは次のとおりです。
.net - .Net Stream を IronRuby に渡しますか?
IronRuby を使用して Yaml ファイルを解析し、解析したドキュメントを C# で使用しています。これは、エンジン ( Ruby.CreateEngine()
) の作成とYAML::load(File.open('myFile.yaml'))
.
しかし、数行の ruby コードを実行すると、ファイル名の文字列をハードコーディングできるため、これはうまく機能します。
ここで、.Net からストリームを渡して Yaml パーサーに読み込ませる方法を理解したいと思います。スクリプト エンジンでこれを行うにはどうすればよいですか?
c# - 最小限のセキュリティコンテキストでのDLR埋め込みスクリプトの実行
私は正しい方向に向けられる必要があります。Iron Pythonスクリプトホストを単純なC#アプリケーションに埋め込みましたが、ユーザーが生成したIronPythonまたはIronRubyスクリプトのセキュリティをロックダウンするためのベストプラクティスを知る必要があります。
具体的には、ライブラリのインポートを防ぐための戦略は何ですか。また、.NETには、ファイルシステムへのアクセスを防ぐなど、別のセキュリティコンテキストでコードのブロックまたはスレッドを実行する方法がありませんか。また、このコンテキストには、実際のユーザーではなく、組み込みのレベルまたはロールを割り当てることができますか?
ありがとう!
dynamic - ExpandoObjectをC#からIronRubyに渡すにはどうすればよいですか?
以下のコードを実行すると、最後の行に次の例外が発生します。
InvalidOperationException: "バインドされていない変数:値"
HandleMoveRequested.rbの内容は次のとおりです。
基本的には、完全に動的なオブジェクトをそのRubyオブジェクトの「handle」メソッドに渡して、そのオブジェクトの「x」プロパティと「y」プロパティにアクセスできるようにしたいだけです。私は間違った木を吠えていますか?
c# - C#プログラムを介して(iron)rubyスクリプトをロードすると、「requires」ステートメントが失敗するのはなぜですか?
IronRuby と VS2010 初心者向けの質問:
.net で特定のホイールを再発明するのではなく、C# プロジェクトと既存の RubyGem の間の相互運用性の実現可能性をテストするためにスパイクを実行しようとしています。IronRuby と RubyGems パッケージ、および最終的に使用したい gem をダウンロードしてインストールしました。
.rb ファイルの実行や iirb Ruby コンソールでの作業は問題ありません。RubyGems パッケージと gem 自体の両方を読み込んで使用できるので、少なくともそのユース ケースでは、私の環境は正しく設定されています。
ただし、C# (4.0) コンソール アプリ内から同じようなことをしようとすると、最初の行についてエラーが発生します。
エラーで:
私のコンソールアプリは次のようになります。
依存関係を削除し、いくつかの基本的な自己完結型の Ruby を実行するだけで問題なく動作しますが、あらゆる種類の「requires」ステートメントを含めると失敗するようです。
Ruby ランタイムを作成するときに追加の情報 (パスなど) を渡すだけでよいことを願っています。また、これがなんらかの制限ではないことを本当に望んでいます。
.net - IronRubyとXAMLデータバインディング
MicrosoftがSilverlightおよびWPF用のIronRubyオブジェクトのXAML(宣言型)データバインディングの実装を計画しているかどうかを誰かが知っていますか?それがなければ、Silverlight / WPF開発にIronRubyを使用することは、実際にはそれほど魅力的ではありません(IMO)。
c# - DLR API を使用して IronRuby スクリプトから標準出力をキャプチャする
私は非常に単純な test.rb ファイルを持っています:
このファイルを c# 内で実行したい、例えば:
「Hello World」をキャプチャするにはどうすればよいですか?