0

XML、JSON、および YAML は、それらが設計されているものに最も適しているようです。文字列値を返し、データ内の要素の値を変更するスクリプトを許可する方法、または少なくともこれらの形式内から関数を呼び出す方法はありますか。

簡単に言えば、スクリプトを作成したり、引数を渡して関数を呼び出したりできるデータ交換フォーマットはありますか?

何もない場合、実行時に関数を呼び出すためにこれらのフォーマット内で使用できるもっともらしい/標準的な構文はありますか?

XML の例:<Element>$Method("My name is Jeff");<Element>

4

1 に答える 1

1

最初の質問に対する答えはノーです。2番目の「はい、XMLとYAMLにはもっともらしい構文があります」

これらはデータ形式であり、それが指定されているものであり、XML と YAML は JSON よりもはるかに強力です。JSON でさえプログラミング言語にとらわれず、評価できる関数を定義する方法については、仕様には何もありません。

もちろん、XML と YAML で何かにタグを付けるのは簡単です (それぞれ独自の方法で)。解析中にタグを評価し、(文字列/スカラー/複合型から) 出力を作成するプログラムを作成するだけです。それは、あなたが自問していないように見える質問にすぐに答えます:「スクリプト化された「文字列」を評価する言語は何ですか?」、その答えは、「タグ付けされたデータ"

Python YAML パーサーから、Python インタープリターを呼び出して評価を行うのは簡単です。コンパイルされたプログラミング言語から、スクリプト拡張機能を呼び出すか、エバリュエーターをプログラムに組み込む必要があります。もちろん、コンパイルして動的にロードして評価することもできますが、それはおそらく既存のスクリプト可能な言語を使用するよりも難しいでしょう。

あなたの例は、いくつかのパターンに基づいた値の解釈を使用しているようです( a で始まり、文字列のどこかに$aがあります)。$これは、すべての文字列を分析し、実際の$. タグ付け/属性を使用して、何か特別なものを作成する必要があることをパーサーに実際に伝える方がはるかに優れています。

于 2016-03-28T14:50:23.367 に答える