関数の戻り値に直接インデックスを使用する可能性はありますか? このようなもの:
readStr()(2:5)
はreadStr()
文字列または配列を返す関数です。他の多くの言語では可能ですが、Fortran ではどうでしょうか? もちろん、私の例の構文はコンパイルされません。使用する他の構文はありますか?
関数の戻り値に直接インデックスを使用する可能性はありますか? このようなもの:
readStr()(2:5)
はreadStr()
文字列または配列を返す関数です。他の多くの言語では可能ですが、Fortran ではどうでしょうか? もちろん、私の例の構文はコンパイルされません。使用する他の構文はありますか?
いいえ。
しかし、それが気になる場合は、独自のユーザー定義関数と演算子を記述して、関数参照の結果を別の変数に格納することなく、同様の結果を得ることができます。
を使用すると、別の変数を宣言することを避けることができますassociate
。一時変数よりも優れているか、明確であるかは、ユーザーが決定する必要があります。いずれにせよ、結果はどこかに保存する必要があります。
associate(str=>readStr())
print *, str(2:5)
end associate
潜在的に長い文字列を含むこの特定のケースではあまり役に立ちませんが、重複としてここにリンクされる他の同様のケースではより役立つ可能性があります。