問題タブ [scripting-language]
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.
javascript - Ruby/Rails で JavaScript をスクリプト言語として使用する
RoR (3) Web アプリケーションのユーザーが、単純な Javascript を使用してアプリケーションの一部をカスタマイズできるようにする必要があります。これには、JSON でオブジェクトを返す単一の関数を入力できるようにすることが含まれます。
次に、RoR アプリはこの Javascript 関数を実行し、その結果を後続のプロセスに使用する必要があります。
これを達成する方法として、経験、例、フレームワーク、またはアイデアを持っている人はいますか?
performance - 高速で、埋め込みが簡単で、高レベルのゲームプログラミングに適したスクリプト言語はありますか?
まず、これに関連する質問がたくさんあることは承知していますが、いずれも私の特定の状況に役立つとは思えませんでした。特に、luaとpythonは私のニーズにうまく適合していません。私の要件を満たす言語が存在しない可能性がありますが、その結論に達する前に、さらにいくつかの意見を聞くとよいでしょう。:)
ご想像のとおり、作成しようとしているゲームエンジンにはそのような言語が必要です。このゲームエンジンの目的は、ゲームを構築するための基本的なツールをユーザーに提供すると同時に、さまざまな種類のゲームを自由に作成できるようにすることです。
このため、スクリプト言語はゲームの概念を直感的に処理できる必要があります。特に、さまざまなタイプを定義したり、わずかに異なるプロパティでそれらをサブタイプ化したり、オブジェクトを動的にクエリおよび変更したりするのは簡単です。
さらに、ゲーム開発者は、スクリプト言語で遭遇するすべての状況を処理できる必要があります。レンダラーやネットワークなどの基本的なコンポーネントはC++で実装されますが、惑星の周りで数百のオブジェクトを回転させるなどのゲーム固有のメカニズムは、スクリプト言語で処理されます。これは、スクリプト言語がめちゃくちゃ高速でなければならないことを意味します。おそらく1/10Cの速度が最小です。
次に、デバッグの問題があります。エラーが発生した関数、スタックトレース、および変数の状態に関する情報にアクセスできる必要があります。
最後になりましたが、これは一人で行うプロジェクトです。たとえ欲しかったとしても、グルーコードだけに何週間も費やすだけのリソースがありません。言語を私のプロジェクトに統合することは、luaを統合することよりもそれほど難しいことではありません。
提案されている2つの言語、luaとpythonを調べると、luaは高速(luajit)で統合が簡単ですが、標準のデバッグ機能が不足しているようです。さらに悪いことに、luaにはデフォルトで型システムがまったくありません。もちろん、それを自分で実装することもできますが、構文は常に奇妙で直感的ではありません。
一方、Pythonは非常に使いやすく、基本的なクラスシステムを備えています。ただし、統合するのはそれほど簡単ではありません。パラダイムには実際には型チェックが含まれておらず、より複雑なゲームには十分な速度ではありません。もう一度、すべてがPythonで行われることを指摘したいと思います。私は、Pythonがコードの90%に対して十分に高速である可能性が高いことをよく知っています。
私が今まで提案したことのないScalaもあります。Scalaは実際にはほとんどの要件を満たしているようですが、Java VMをCに埋め込むのはそれほど簡単ではないようです。一般に、Javaは、その逆ではなく、Javaを中心にアプリケーションを構築することを期待しているようです。また、Scalaの機能パラダイムが直感的なゲーム開発に適しているかどうかもわかりません。
編集:この質問は、どんな犠牲を払っても解決策を見つけることについてではないことに注意してください。luaよりも優れた言語がない場合は、妥協して使用します(実際には、プログラムにリンクされているものがすでにあります)。luaは私にとって完璧な解決策とはほど遠いので、そうする前に、もっと適切なものを見逃していないことを確認したいだけです。
programming-languages - この説明に当てはまるスクリプト言語は何ですか?
私はプログラミング言語の設計/実装が好きで、成熟度の低いものの1つに貢献したいと思っています。次のようなスクリプト言語を探しています。
- 埋め込み可能
- 動的に、強く型付けされた
- スモール&ライトウェイト(後で詳しく説明します)
- C++で実装
軽量とは、簡単に拡張できる非常に小さな標準ライブラリであるLuaのようなものを意味します。
そして、私が好きないくつかの(ランダムな)設計原則:
- この言語には、Python(int、float、list / array、map / dictionary、set、tuple)などの非常に強力な組み込み型がいくつか含まれている必要があります。
- 関数はLuaのようにオブジェクトです(これによりラムダ関数は簡単になります)
- 引数は、自動的に抽出されるタプルとして渡されます。
そして最後に、そしておそらく少なくとも、私はCスタイルの構文が好きです。
「主観的」、「最高の言葉はない」、「質問ではない」と叫ぶことを考えると、質問を読み間違えます。上記の説明に一致するスクリプト言語のリストを求めているだけです。
c++ - iOS ゲームのスクリプト言語
まず第一に、この主題をカバーする他のトピックがありますが、それらは Apple が今年ライセンスに最新の変更を加える前に投稿されました.
私は、Apple の iOS 開発者契約ライセンスとかなり混同しています。ゲームプログラミングでスクリプト言語を完全に禁止するのですか? 実行時にコンパイルせず、ゲーム パッケージ内のすべてのコードを提供しても?
ゲーム ロジックのプログラミングを容易にするために使用される AngelScript に基づくスクリプト レイヤーを提供する C++ で記述されたゲーム エンジンがあります。ゲーム イベントのスクリプト作成に AngelScript を使用している限り、AngelScript で作成したゲームを公開できないというのは本当ですか?
多くのゲーム開発者は、ゲーム開発を容易にするために C++ ライブラリ/エンジン/フレームワークに抽象化レイヤーを配置しますが、ゲームが実際に C/C++ で記述されているという事実は変わりません。
java - Javaを解釈するスクリプトエンジン
Javaを解釈するJavaスクリプトエンジンを構築したオープンソースプロジェクトに出くわしたことを覚えています(いいえ、RhinoではなくJavaScript用です。Javaを実行します)。そのプロジェクトに出くわした場合は、リンクを共有してください。
(もちろん、Javaとスクリプトの単語の組み合わせをGoogleで検索すると、すべてのJavaScriptの結果が返されます。残念ながら、それは私が探しているものではありません。
java - 非スクリプト言語でのスクリプトのような動作
突然この質問が頭に浮かんだとき、私はJavaで三項演算子をいじっていました。PHP では、決定に三項演算子を使用して、次のようにメイン ドキュメントにコマンド (またはタグ) を配置できます (PHP マニュアルの例)。
さて、これに似たことがJavaで可能ですか?同様に、以下のコードに似たものは可能ですか?
私が望むのは、真/偽の値に従ってステートメントの1つだけを実行する必要があるということです。これはコンストラクトを使用したほうがよいことはわかっていますがif-else
、気になったのでこの質問をしました。
c++ - スクリプト言語の作り方
スクリプト言語をゼロから作成するためにどのような知識を追求しなければならないかを本当に知りたいです。おそらく C++ を使用して、おそらく python を使用します。これらは私が知っている言語です。
SO 同様の質問を検索しましたが、私が求めているものに近いものはありません。自然言語ではなく、人間の可読性に重点を置いておらず、機能のみに重点を置いたスクリプトの言語処理を理解するつもりです。
私の最初のアイデアは、技術的なバックグラウンドがなくても、一連の論理ステートメントを吸収し、論理推論、パターン認識、ニューラル ネットワーク、統計分析などの高度な組み込みアルゴリズムを利用して、多くの情報を提供するスクリプト言語を作成することでした。役に立つ(または役に立たない)情報。
私の下手な英語で申し訳ありませんが、ここで引用したほとんどすべてのことをオンラインで学びました:D そして、それは私の理論的背景の欠如を説明しています.
前もって感謝します。
ruby - Rubyはスクリプト言語ですか、それとも通訳言語ですか?
Rubyのウィキペディアのページで、この言語がインタプリタ言語として定義されていることに気づきました。
おそらく私のバックグラウンドに何かが欠けていることを理解しました。
コンパイラを必要としないインタプリタ言語とコンパイルされた言語(プログラムの実行前にコンパイルする必要がある)の違いは常に知っていますが、スクリプト言語の特徴は何ですか?
Rubyはスクリプト言語として定義できますか?
ありがとう、そして停電を許してください
python - Pythonスクリプトに相当するshスクリプト
わかりましたので、次の状況があります。ターゲット PC で PYTHONPATH を動的に編集する必要があります。プロジェクトの構造は次のとおりです。
start_scriptから、私ができるpythonから:
これでうまくいきますが、process.Popenで新しいpythonプロセスを開始する必要があり、sys.pathへの変更はそれまでになくなっているようです。
ここでは、sh スクリプトの方がうまくいくと思っていましたが、残念ながら、私はここでは完全に初心者であり、どうすればよいかわかりません。sh スクリプトは、基本的に上記の python が行ったことを行う必要があるため、次のようになります。
したがって、基本的に最初の 2 つの手順は、私が支援を必要としているものです。また、subprocess.Popen で開かれたサブプロセスで Python の sys.path を変更する方法がある場合は、お知らせください。
oop - オブジェクト指向でないスクリプト言語
オブジェクト指向ではないスクリプト言語に特別な利点はありますか?