web-dev-qa-db-ja.com

Dartでドル記号$をどのように印刷しますか

変数の前に、実際にDartでドル記号を印刷する必要があります。例えば:

void main()
{
  int dollars=42;
  print("I have $dollars."); // I have 42.
}

出力を次のようにします。$ 42があります。これどうやってするの?ありがとう。

22
rchkm

ダーツ文字列は、生または生ではありません(通常?調理済み?解釈済み?正式な名前はありません)。ここでは、あなたが抱えている問題を説明しているので、「解釈済み」を使用します。

生の文字列では、「$」と「\」は特別な意味はなく、他の文字と同じように文字です。インタープリター型文字列では、「$」は補間を開始し、「\」はエスケープを開始します。

「$ dollars」の補間が必要なため、「$」を文字通り使用することはできません。そのため、エスケープする必要があります。

int dollars = 42;
print("I have \$$dollars.");

エスケープを使用したくない場合は、生の部分と解釈された部分の文字列を組み合わせることができます。

int dollars = 42;
print(r"I have $" "$dollars."); 

隣接する2つの文字列リテラルは、異なるタイプの文字列であっても、1つの文字列に結合されます。

25
lrn

バックスラッシュを使用してエスケープできます。

int dollars=42;
print("I have \$$dollars."); // I have $42.

変数の代わりにリテラルを使用している場合は、生の文字列を使用することもできます。

print(r"I have $42."); // I have $42.
8
Pixel Elephant