Ruby-コードの一部をデータベースに保存する

今日、私はインタープリター言語の「チップ」を使用する別の方法を見つけました-プログラム中にプログラムコードを作成して実行します。



コードの一部をデータベースに配置できます。



これは何のためですか?



私はそのような仕事に出会いました-オンラインテストを書くこと。

各テストには、ユーザーの回答が割り当てられた結果の説明番号の機能があります



また、テストごとにこの関数は異なる場合があります。 そして、新しいテストを追加するたびに、サイトのプログラムコードを変更したくありません。 私が見つけた解決策は、このコードをデータベースのテキストタイプフィールドに保存することでした。



そして、テスト結果を計算したい場所で、次のように書きます:

eval(@ test.function)



関数-これは、テストを説明するデータベーステーブル内のセルです。

コードは単にプログラムのこの場所に挿入されて実行され、ユーザー応答の結果をパラメーターとして渡す必要さえありません。



確かに、ローカル変数を宣言するためにevalによって渡された行内にある場合、外部プログラムはそれを表示しません(少なくともコンソールではすべては大丈夫でしたが、表示されませんでした)。



私は、厳密なOOPの愛好家からの公正な批判を疑っています。 しかし、私はこの例をOOPと一致させません;望むなら、実験してください。



All Articles