2016-05-03 11 views
1

私は、コードを勉強して、次の行に出くわしています:Fortran 77の組み込み関数 "INDEX"は何をしますか?

NP = INDEX (PATH, ' ')-1 

「NP」の文字として、整数の変数とPATHとして宣言されています。 「INDEX」という言葉は、Fortranの機能を表します(コード内で強調表示されています)。

どういう意味ですか、それは何ですか?私は助けをオンラインで検索しましたが、私が見つけた結果は満足できませんでした。

INDEX機能は常に「INDEX(STRING、SUBSTRING)」と書かれていますが、それ以上のことは言及していません。それでも疑いはまだ残っている。

上記のコード行がどのように機能するか、または良いリソースの方向に私を指摘していただければ、感謝します。

+0

FORTRAN 77に限定されていますか?その標準は古代です...可能であれば、より新しいバージョンに切り替えてください。 –

+0

はい、ありがとうございます。現在、新しいバージョンに切り替えることは選択肢ではありません。しかし、時間が来ると確かにそのステップを踏み出すでしょう。助けてくれてありがとう! –

答えて

1

あなたは、具体的FORTRAN 77の定義を求めているので、ここではFORTRAN 77規格の対応する部分がある...

Cl. 15.10 "Table of Intrinsic Functions"

ノート表5用:

[ ...]

  1. INDEX(a1,a2)は、開始位置を示す整数値を返します文字列a2と同じ部分文字列の文字列a1内の数字。 a2a1に複数回出現する場合は、最初の出現の開始位置が返されます。

    a2a1にない場合は、値ゼロが返されます。 LEN(a1) < LEN(a2)の場合は0が返されることに注意してください。

そして、表5から対応する行:最初の出現のための

|     |     |   |  |   |      | 
|     |     | Number of| Generic| Specific|  Type of  | 
|Intrinsic Function | Definition  | Arguments| Name | Name | Argument | Function | 
|___________________|_________________|__________|________|_________|__________|__________| 
| [...] 
|___________________|_________________|__________|________|_________|__________|__________| 
|     |     |   |  |   |   |   | 
|Index of   | Location of  |  2 |  | INDEX | Character| Integer | 
| a Substring  | Substring a2 |   |  |   |   |   | 
|     | in String a1 |   |  |   |   |   | 
|     | See Note 1  |   |  |   |   |   | 
|___________________|_________________|__________|________|_________|__________|__________| 

だからあなたのライン

NP = INDEX (PATH, ' ')-1 

検索空白()を変数PATHに入れ、その位置から1を引きます。これはNPに割り当てられます。

+0

私の質問に答えてくれてありがとう、Alexander Vogt。また、あなたのソースを共有していただきありがとうございます。 = D –

+0

@ HugoA。ロケット科学はありません:)標準へのリンクは[タグの説明](https://stackoverflow.com/tags/fortran/info)にあります。 –

+0

はい、私はそれを見ました!どうもありがとう! = D –

0

文字列中の部分文字列の位置を返します。ルックアップするのは難しいはずはありません(電話以外で)それは後続のFortranにあります。

関連する問題