33

これはおそらくかなりマイナーな質問です...

しかし、ほんの少し前に、自分が書いたコードを調べていて、しばしば同じ関数で="something"と完全に同じ意味で使用する傾向があることに気付きました。='something_else'

私の質問は次のとおりです。どちらか一方 (一重引用符または二重引用符) を使用すると動作が異なる R コードはありますか? それとも完全に同義ですか?

4

3 に答える 3

21

http://stat.ethz.ch/R-manual/R-patched/library/base/html/Quotes.htmlによると、「[s]一重引用符と二重引用符は文字定数を区切ります。これらは同じ意味で使用できますが、二重引用符はが優先されます (文字定数は二重引用符を使用して出力されます)、そのため、通常、単一引用符は、二重引用符を含む文字定数を区切るためにのみ使用されます。"

于 2013-12-13T17:29:14.333 に答える
16

好奇心のために、R ヘルプのメーリング リストに、R で二重引用符が優先される理由についての詳細な説明があります。

一重引用符と二重引用符の意味に違いがある C ファミリーの言語 (C、C++、Java) でのプログラミングに慣れている人の混乱を避けるため。AC プログラマー'a'は、単一の文字として、および文字列を終了する文字が後に続く"a"文字で構成される文字列として読み取ります。 'a'null

R には文字データ型はなく、文字列のみがあります。 他の言語との一貫性のために、文字列を二重引用符で区切ると役立ちます。 R の単一引用符バージョンは便宜上のものです。

(以来) ほとんどのキーボードでは、一重引用符を入力するためにシフト キーを使用する必要はありませんが、二重引用符を入力するにはシフト キーが必要です。

于 2018-07-17T15:23:26.870 に答える
14
> print(""hi"")
Error: unexpected symbol in "print(""hi"
> print("'hi'")
[1] "'hi'"
> print("hi")
[1] "hi"
于 2013-12-13T17:29:30.467 に答える