-2

私は一重引用符を二重引用符にマッピングすることを考えています。つまり' -> "、私のvimrcです。

Cで文字を宣言する以外に'、プログラミングではどこで使用されますか?

マップする必要がありますか?両方にアクセスするために、それらを逆マップします。

4

3 に答える 3

4

単一引用符は、プログラミングのあらゆる場所で使用されます。

  • Bourne シェル (および派生言語csh、派生言語、Perlおよびその他の言語) では、文字列拡張を禁止するために使用されるため、次のように実行できます。

    $ echo '$VARIABLE'
    $VARIABLE
    
  • ではC、一重引用符は、文字列ではなく文字定数を示すために使用されます。だからあなたはこれを行うことができます:

    char c = 'c';
    

    しかし、これはエラーです:

    char c = "c";
    
  • そしてもちろん、「英語」と呼ばれる言語でプログラミングしている場合、一重引用符は、所有格 (「snihalani の質問はちょっと奇妙に思えた)」や短縮形 (「誰も望んでいるとは思えない」など) などの重要なことを示すために使用されます。これを行う。")。

これらはほんの一例です。もちろん、もっとあります。

于 2012-08-16T00:42:57.377 に答える
3

私はほぼ独占的に一重引用符を使用しています。文字列内で二重引用符を使用している場合に便利です。

print 'Foo said, "Bar"'

それらをエスケープするよりも簡単です:

print "Foo said, \"Bar\""

また、所有格を含む通常の文を入力することもできません。

# Attaches foo's signal to a slot
self.foo.bar.connect(self.baz)

たとえば、PHP は、文字列が単一引用符で囲まれている場合、変数置換を実行しません。

$var = 1;
echo('I will literally print $var');
于 2012-08-16T00:40:00.697 に答える
1

多くの言語 (C、C++、Ada など) では、'文字リテラルを"区切り、文字列リテラルを区切ります。

その他 (Perl、Bourne シェルなど) では、文字列リテラルに'またはを使用できますが、セマンティクスが異なります。文字列に文字が含まれている場合、またはその逆の場合に便利で、変数への参照が変数の名前に展開されますが、これは防止されます。""'"'

Ada は'、属性の名前を区切るために使用します。

また、すべての言語で、'コメントと文字列リテラルが必要です。たとえば、「コメントと文字列リテラルが必要です」と書きたい場合などです'

彼らは異なるキャラクターです。それらのいずれかを入力する機能を削除することは、良い考えではありません。

入力が簡単になる場合は、'へのマッピング" やその逆を検討することもできます。しかし、自分のマッピングを使うことに慣れてしまうと、他人のセットアップを使用したり、vim 以外にテキストを入力したりするのは厄介なことになるかもしれません。

于 2012-08-16T00:42:47.000 に答える