2

オンラインで J を使用する方法を学んでおり、この言語を使用して古い Java の割り当てをやり直しています。オペランドを取らない動詞を作成する方法、または結果を返す方法を知りたいです。その理由は次のとおりです。動詞を入力できるようにしたいと思いgoます。一連のコードを単独で実行し、実行時に生成されるデータを保存する動詞を呼び出してみましょう。ただし、何も表示されません。これの全体的な目標は、少なくともvoid returnChange()メソッドを必要とする自動販売機クラスとインターフェースを最終的に再現できるようにすることです。

4

2 に答える 2

4

J 動詞の呼び出しは常に、少なくとも正しい引数で行われます。右の引数を完全に無視する単項動詞に何かを送ります ( 0or など'')。

関数は常に何かを返しますが、返されるデータを使用i.0または''最小化します。

go =: 3 : 0
    NB. do stuff
    i. 0
)

go ''
于 2010-07-20T17:22:20.660 に答える
1

MPelletier は、J 動詞が結果を生成するために常に正しい引数を必要とし、実行時に必ず結果を生成するという点で正しいです。状況は、副詞と接続詞についても同様です。J には、「void を返す」メソッドに似たものはありません。

MPelletier が提供する例では、キーワード「return」が使用されています。そのコンテキストでは、キーワードは効果がありません。そのプログラムの修正版がここで提供されています。

go =: 3 : 0
  NB. do stuff
  i. 0 0
)

このプログラムと MPelletier によって投稿されたプログラムとの目に見える違いは、コンソールで実行された場合、次のプロンプトの前に空白行が生成されないことです。(その形状から位置 _2 にゼロがある結果には、この効果があります。)

于 2010-08-26T17:43:29.023 に答える