問題タブ [iolanguage]
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.
iolanguage - IOで文字列をオブジェクト名として扱う方法は?
Io ではgetSlot()
、文字列をスロット参照に変換できるメソッドがありますが、オブジェクトへの参照を取得するのに似たようなものはありますか? 例えば:
getObject()
存在しないので、"a" が "myObject" のクローンになるように、代わりに何を入れることができますか?
iolanguage - Io 文字列 (シーケンス) 操作/フォーマット?
Io には、他の言語のord()
およびchr()
関数を反映するメソッドが組み込まれていますか (つまり、整数を取得してそれに関連付けられた ASCII 文字を返すか、文字列文字を取得してその文字の ASCII 番号を返すことができます)?
出力のフォーマットを可能にするprint
/関数はありますか? write
コマンド ラインに ANSI カラー出力を作成したいのですが、そのためにはエスケープ文字 (ASCII 文字 27) を出力する手段が必要です。
iolanguage - 予期された例外がIoでスローされたことをテストします
コードを複製せず、単体テスト時にIoで例外がスローされたことを確認する慣用的な方法はありますか?
ここのところ:
iolanguage - io 代入演算子が評価されていませんか?
これにより、シーケンスが ":" に応答しないというエラーが発生します (":" は、演算子ではなくメッセージとして扱われています)。
myAssignMethod("foo", "bar")
(なのでに"foo" = "bar"
なるので)に評価されるべきだと思いますが、そうではupdateSlot("foo", "bar")
ありません。でも:
それは正しく機能し、myAssignMethod
呼び出されます。doString()
では、ファイルのメイン コードで作業中にコードで発生する処理を取得するにはどうすればよいでしょうか。
operators - Io REPLとインタープリターが2つの異なる値を与えるのはなぜですか?
このコードを考えてみましょう:
戻り値はである必要がありlist(key, value)
、これをIo REPLで使用する場合は、まさに戻り値です。インタプリタを使用する場合(のようにio somefile.io
)、返される値はですvalue
。いくつかの検査の後、違いはここにあります:
なぜこうなった?
iolanguage - Io:サブクラス化されたプリミティブ(例:Number)をインスタンス化する方法は?
「 7週間の7つの言語」という本には質問があります。
分母がゼロの場合、どのように/を変更して0を返しますか?
スレッドのおかげでメソッド内の自己の重要性は何ですか?私には実用的な解決策がありますが、Number "/"メソッドを壊さずに、代わりにNumberをサブクラス化することを試みたかったのです。これが私が試したことです:
ただし、これは機能しません。Zeroableのインスタンスをインスタンス化しようとすると、数値のように動作します。
Zeroableを「通常の」方法でインスタンス化した場合、値は常に0であり、変更する方法がないようです。
問題はインスタンス化される方法だと思いますがten
、クローンメソッドに「引数」を渡す方法や、0ではないZeroableを作成する方法がわかりません。ここで何が起こっているのでしょうか。
iolanguage - リンクリストを実装しました。スタックとキューの作成についてサポートが必要
私はすでにここに実用的なリンクリストを持っています:
次に、スタックとキューを実装する必要があります。これはこの言語を使用する最初の試みであり、スタックとキューに対して実行する必要があることについて頭を悩ませることに苦労しています。
iolanguage - インタラクティブIoインタープリターに複数行のメソッドを入力するにはどうすればよいですか?
私は7週間で7つの言語から次のサンプルを試しています:
残りの例(例)を含むファイルにコードを入れてanimals.io
、コマンドラインから実行するとio animals.io
、期待どおりに機能します。
ただし、メソッドを手動で入力して任意のオブジェクトに対して実行しようとすると、次のエラーが発生します。
インタラクティブインタプリタを介してこの複数行のメソッドを入力することは可能ですか?
c - Io言語の埋め込み:CからIoメソッドを呼び出す
ゲームエンジンを書いていますが、スクリプトにIoを使用したいと思います。エンジンはC++ではなく純粋なC99で書かれています。IoをゲームのC関数のいくつかに正常にバインドしましたが、うまく機能します。
ただし、CゲームループでIoメソッドを呼び出したいと思います。IoState_doFile_()
基本的に、次の行に沿って何かを含むスクリプト(おそらくを使用)をロードしたいと思います。
次に、Cゲームループで、これらの関数を呼び出したいと思います。そのうちのいくつかに引数を渡す必要があります。残念ながら、Ioのドキュメントは優れていますが、信じられないほどまばらです。私はIoVMコードを少し掘り下げましたが、何も役に立ちませんでした(おそらく十分に掘り下げていません)。これを行うための最良の方法は何ですか?何かのようなもの
おそらく本当に非効率的であることは言うまでもなく、かなりハックっぽいようです(それが機能すると仮定します。私は試していません)。
iolanguage - Io(言語)起動エラー - .io_history
OSXでIo(言語)コマンドラインインターフェースをインストールして実行していましたが、起動時に次のエラーが発生しました:
誰でもそれを修正する方法を知っていますか? 要求されたファイルを作成しました (ただし、何を入れればよいかわかりません。) このエラーをグーグルで調べても役に立ちませんでした (Io の非グーグル機能が気に入らなければなりません... :-) )