Syntax Fortran:行到长/追加行-但在末尾有文本?
我有一行Fortran代码,其中包括一些文本。我正在更改文本,这使得代码行对于Fortran来说太长,所以我使用“a”将其拆分为两行 是: 改为:Syntax Fortran:行到长/追加行-但在末尾有文本?,syntax,fortran,fortran77,Syntax,Fortran,Fortran77,我有一行Fortran代码,其中包括一些文本。我正在更改文本,这使得代码行对于Fortran来说太长,所以我使用“a”将其拆分为两行 是: 改为: IF (MYVAR .EQ. 1) THEN WRITE(iott,'(A) (A)') 'ABC DEF GHI JK a ' // 'L=', SOMEVAR 我的问题是,在新行(以“a”开头)中,“a”和第一个“a”之间的空白是否会附加到字符串中?或者我是否需要将“”作为a旁边的字符,以防止出现额外的空白 正如你所知,我不习惯Fo
IF (MYVAR .EQ. 1) THEN
WRITE(iott,'(A) (A)') 'ABC DEF GHI JK
a ' // 'L=', SOMEVAR
我的问题是,在新行(以“a”开头)中,“a”和第一个“a”之间的空白是否会附加到字符串中?或者我是否需要将“”作为a旁边的字符,以防止出现额外的空白
正如你所知,我不习惯Fortran…我已经太长时间不记得Fortran的旧列要求了(它们甚至可能不像很久以前那样严格) 但是-这不是一个快速的测试运行会马上告诉你的吗
a
是一个连续字符,基本上它只意味着将这一行的其余部分从连续字符(第6列,对吗?)后面追加到前一行在理想情况下,是的,但在这种情况下,代码是在一台机器上开发的,并提交给构建服务器,该服务器具有可用于构建的适当第三方软件/SDK/许可证。构建速度也不是很快。如果您担心超过72列的限制,那么我假设您使用的是Fortran 77。Fortran 77的语法要求从第7列开始,但连续行除外,第6列中需要一个连续字符。我使用以下方法告诉我一条语句有多少行是连续的(第一行只是显示列): 这将打印:
Lorem Ipsum Foo Bar
您不必担心没有引号的空格。无论如何,所有的空白都会在Fortran中被压缩
学习如何使用语句是值得的。它们可以使输出更容易。这有点类似于printf语句,如果您来自C语言,那么您可以使用不同类型的参数指定一种格式,然后提供变量或文本来填充该格式
不要担心你没有使用当今流行的新语言。您可以从Fortran,甚至Fortran 77中学到很多东西,如果使用得当,Fortran甚至可以非常优雅。我见过Fortran 77像面向对象语言一样编写,并带有动态内存。我喜欢说,“old.ne.bad”。GNU编译器集合包括一个Fortran编译器。这可能足以让你回答这样的问题。这只是一个挑剔的问题,@Dylan,但标题应该是“行太长”。72列限制,或其他任意数字,出于美观的原因(或者如果你试图在手机上阅读代码,则功能性:)也是有意义的。因此,这个问题可能不仅仅适用于编写固定格式的F77代码。还有一些其他的线路延续策略。
!234567890
write(*,*)"Lorem Ipsum",
1 " Foo",
2 " Bar"
Lorem Ipsum Foo Bar