概要LibRedはRedのインタプリタとランタイムライブラリの特別なバージョンです。libRedはRed以外の言語でソフトウェアを開発する場合に適しています。RedではないソフトウェアがRedとやりとりすることを可能にするために、libRedはこのドキュメントに記載されている専用のローレベルAPIを(CのcdeclかMicrosoftのstadcallで)公開します。サポートされる機能は以下の通りです。いう用語はホスト言語またはlibRedを組み込んだアプリケーションのことを指します。確認することができます。libRedのビルド自身のローカル環境にlibRedをビルドする方法はシンプルです。libRed"これらのコマンドラインはC言語用(cdeclのABIを使用する)libRedをビルドします。ABIが必要の場合、次のようにします。値の参照libRedの関数呼び出しにより、Redの値が返されます。32ビットの参照で表現されます。これらの参照は短命で、別のlibRed関数の呼び出しに渡すなど、ローカルな使用に留めるべきです。これらの参照は特別なメモリマネージャで管理され、約50回のAPI呼び出しの間しか生存しません。以下に例を記載します。返された参照は直後のこの箇所で使用されています。APIはC/C++のアプリケーションで使用することができます。持つすべての言語とRedを統合することができます。他の全てのAPIを使用するために必要です。Note現在のところ、1つのプロセス内で1つのlibRedセッションのみ許されます。複数インスタンスをサポートするように将来拡張される予定です。redOpen(void)新しいRedのランタイムライブラリセッションを初期化します。呼び出しされる必要があります。NoteもしredOpenの実行前に他の関数が呼び出しされた場合、その関数の戻り値は「-2」になります。これは不適切なアクセスが試みられたことを示します。redClose(void)現在のRedのランタイムライブラリセッションを終了し、確保されたリソースを開放します。Redのコードの実行ホストソフトウェアはRedのコードをダイレクトに実行できます。これにはいくつかの異なるコントロールレベルがあり、Redのコードの文字列を評価させたり、ホスト側で生成した引数をRedの関数に直接渡して呼び出しするといった方法があります。source)文字列として渡されたRedの式を評価し、最後のRedの値を戻り値として返します。指定されたRedのスクリプトをロード、評価し、最後の値を返します。RedのOS非依存の規約(基本的にはUnixスタイルです)を使用してフォーマットされます。code)引数のブロックを評価し、最後の値を返します。wordで指定されたRedの関数(any-function!型)を実行します。任意の数の(Redの値の)引数を渡すことができ、関数の最後の値を返します。終わらなければなりません。1から6の間のランダムなinteger!の値を返します。コールバック関数の登録Redで発生したイベントにレスポンスしたり、Redの呼び出しを(たとえば「print」や「ask」を)リダイレクトしたりするには、Redの側からホストの関数へコールバックする必要があります。これは「redRoutine()」関数を使うことで実現できます。指定されたCの関数ポインタをボディとして、新しいRedのroutineを定義します。Redの値を返さなければなりません(戻り値が使われないことを示すために「redUnset()」を使うこともできます)。して)Redの値を渡す必要があります。以下の関数は最もよく使われるデータ型のシンプルなコンストラクタです。関連づけられたシンボルIDを返します。API関数に渡すことができます。