7

関数の戻り値に直接インデックスを使用する可能性はありますか? このようなもの:

readStr()(2:5)

readStr()文字列または配列を返す関数です。他の多くの言語では可能ですが、Fortran ではどうでしょうか? もちろん、私の例の構文はコンパイルされません。使用する他の構文はありますか?

4

3 に答える 3

2

いいえ。

しかし、それが気になる場合は、独自のユーザー定義関数と演算子を記述して、関数参照の結果を別の変数に格納することなく、同様の結果を得ることができます。

于 2015-02-27T10:40:25.713 に答える
2

を使用すると、別の変数を宣言することを避けることができますassociate。一時変数よりも優れているか、明確であるかは、ユーザーが決定する必要があります。いずれにせよ、結果はどこかに保存する必要があります。

 associate(str=>readStr())
   print *, str(2:5)
 end associate

潜在的に長い文字列を含むこの特定のケースではあまり役に立ちませんが、重複としてここにリンクされる他の同様のケースではより役立つ可能性があります。

于 2020-04-17T08:56:16.650 に答える