我正在研究代码并遇到以下问题:
NP = INDEX (PATH, ' ')-1
" NP"声明为整数变量,PATH声明为字符。单词" INDEX"代表Fortran函数(它在代码中突出显示)。
它是什么意思,它有什么作用?我在网上寻求帮助,但我发现的结果都不令人满意。
我确实找到了一个参考文献,说INDEX功能总是写成" INDEX(STRING,SUBSTRING)",但它没有说更多;因此,怀疑仍然存在。
如果你能解释一下上面的代码行是如何工作的,或者你是否指出了一些好资源的方向,我将不胜感激。
答案 0 :(得分:1)
由于您特别要求FORTRAN 77的定义,这里是FORTRAN 77标准的相应部分......
Cl. 15.10 "Table of Intrinsic Functions":
表5的注释:
[...]
- 醇>
if (!empty($older_than)) { $cond[] = "join_date = ?"; $params[] = $older_than; }
返回一个整数值,表示与字符串INDEX(a1,a2)
相同的子字符串的字符串a1
内的起始位置。如果在a2
中多次出现a2
,则会返回第一个匹配项的起始位置。如果
a1
中没有a2
,则返回零值。请注意,如果a1
,则返回零。
表5中的相应行:
LEN(a1) < LEN(a2)
所以你的行
| | | | | | |
| | | 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
。
答案 1 :(得分:0)
它返回字符串中子字符串的位置。在随后的每一个Fortran中都不应该难以查找(除了在手机上)。