これはおそらくかなりマイナーな質問です...
しかし、ほんの少し前に、自分が書いたコードを調べていて、しばしば同じ関数で="something"
と完全に同じ意味で使用する傾向があることに気付きました。='something_else'
私の質問は次のとおりです。どちらか一方 (一重引用符または二重引用符) を使用すると動作が異なる R コードはありますか? それとも完全に同義ですか?
これはおそらくかなりマイナーな質問です...
しかし、ほんの少し前に、自分が書いたコードを調べていて、しばしば同じ関数で="something"
と完全に同じ意味で使用する傾向があることに気付きました。='something_else'
私の質問は次のとおりです。どちらか一方 (一重引用符または二重引用符) を使用すると動作が異なる R コードはありますか? それとも完全に同義ですか?
http://stat.ethz.ch/R-manual/R-patched/library/base/html/Quotes.htmlによると、「[s]一重引用符と二重引用符は文字定数を区切ります。これらは同じ意味で使用できますが、二重引用符はが優先されます (文字定数は二重引用符を使用して出力されます)、そのため、通常、単一引用符は、二重引用符を含む文字定数を区切るためにのみ使用されます。"
好奇心のために、R ヘルプのメーリング リストに、R で二重引用符が優先される理由についての詳細な説明があります。
一重引用符と二重引用符の意味に違いがある C ファミリーの言語 (C、C++、Java) でのプログラミングに慣れている人の混乱を避けるため。AC プログラマー
'a'
は、単一の文字として、および文字列を終了する文字が後に続く"a"
文字で構成される文字列として読み取ります。'a'
null
R には文字データ型はなく、文字列のみがあります。 他の言語との一貫性のために、文字列を二重引用符で区切ると役立ちます。 R の単一引用符バージョンは便宜上のものです。
(以来) ほとんどのキーボードでは、一重引用符を入力するためにシフト キーを使用する必要はありませんが、二重引用符を入力するにはシフト キーが必要です。
> print(""hi"")
Error: unexpected symbol in "print(""hi"
> print("'hi'")
[1] "'hi'"
> print("hi")
[1] "hi"