だから、私は文字列を初期化する際の '...'と '...'の違いは何ですか?
CHARACTER(LEN=4)::string
string = "jklm"
と
CHARACTER(LEN=4)::string
string = 'jklm'
の両方をFortranで文字列を初期化することができます違いは何ですか?
だから、私は文字列を初期化する際の '...'と '...'の違いは何ですか?
CHARACTER(LEN=4)::string
string = "jklm"
と
CHARACTER(LEN=4)::string
string = 'jklm'
の両方をFortranで文字列を初期化することができます違いは何ですか?
fortanのドキュメントを一見すると、ほとんど同じです。文字列内の一重引用符を使用する場合は、二重引用符を使用して囲みます。また
// correct
"John's Stuff"
// wrong
'John's Stuff'
:
// correct
'She said "Hey!"'
// wrong
"She said "Hey!""
http://www.fortran90.org/src/rosetta.html#strings-and-formatting
編集:ところで、同じことがほとんどのプログラミング言語のために行きます。
また、 ''John''s Stuff''と' 'John" "Stuff" 'を修正する、すなわち二重引用符またはアポストロフィ。 –
@HighPerformanceMarkエスケープ文字私は悪夢を与えるために使用される:) – Brian
機能的には同じです。 ""少し見やすく見えますが、違いはありません。
マイナーな(おそらく些細な)点として、ここに_初期化_はありません。ただ_assignment_です。重要な概念は、文字リテラル定数を区切ることです。 – francescalus
@francescalusご清聴ありがとうございます。しかし、私は翻訳しようとしたにもかかわらず、あなたの2番目の文を得ていません。あなたはそれを言うことを意味します...私はフォーマット文字列( "jklm")の既存の定数にのみ文字列を割り当てますか? –
'' jklm''は、(文字)_定数constant_と呼ばれるものです。それは、これらの4つの文字で構成された値を持っていて、常に持っているものです。そのような定数は、初期化、代入、または他の多くの方法で使用でき、引用/アポストロフィの解釈はそれを変更しません。したがって、コンパイラに "ここに続くものは文字列を形成する"というデリミタ( '' 'や' '')は、初期化に固有ではなく "constant"というだけではありません。 [うまくいけば、それは物事をあまり明確にしていない...] – francescalus