よく調べましたが、文字列に引用符を使用する方法に関する規則が見つかりませんでした。私はこの 2 つの違いを知っていますが、単一引用符で十分な二重引用符を含む優れたコードをどこでも目にします。そのため、どのパターンも認識できません。オープンソースへの貢献を始めたいし、最初から良い習慣を身につけたいので、これをお願いしています。むしろ、2 つの違いに対する自信を強めるためにも、可能な限り一重引用符を使用します。
2 に答える
おそらくすでに知っていること:
- 単一引用符は、単純な文字列には問題ありません。
- 文字列内の何かを評価する必要がある場合は、二重引用符が必要です。
パフォーマンスに大きな違いはありません。
二重引用符を使用すると、文字列内でエスケープすることを心配せずにアポストロフィを使用できるため、コード内で文字列が「きれいに」見えるようになります。"Don't do that"
対を考える'Don\'t do that'
string で決してエスケープしてはならないという考え方があります。文字列内に一重引用符と二重引用符が必要な場合は、ヒアドキュメントまたは柔軟な引用符を使用することをお勧めします。最後に、文字列内の ruby コードを評価することが問題にならない場合、コーディング時に何を使用する必要があるかをガイドします。
コミュニティ全体に強い慣習があるとは思いません。私が見たところ、単一引用符を完全に無視し、常に二重引用符を使用する傾向があるようです。一部のサークルでは、それは慣習でさえありますが、コミュニティ全体のためのものではなく、ローカライズされたものです.
個人的には、同じことを表現するのにいくつかの異なる方法があるときはいつでも、それらの異なる方法を使用して異なるセマンティクスを伝える傾向があります. (たとえば、ブロック内で中括弧とdo
/end
を使用して、副作用に使用されるブロックと戻り値に使用されるブロックを区別しています。)
したがって、実際に文字列の補間またはエスケープを使用する場合にのみ二重引用符を使用し、それ以外の場合は単一引用符を使用します。そうすれば、文字列を見たときに、面白いビジネスが行われておらず、その中にコードが隠されていないとすぐにわかります。
しかし、私は実用的です。私は or よりもはるかに"It's a string!"
好き'It\'s a string!'
です%q[It's a string!]
。