Какие цитаты нужны программисту? - PullRequest
2 голосов
/ 24 марта 2009

Моя клавиатура имеет только нормальные кавычки, а не умные.

Я заметил, что мне нужны нормальные в CGI и обратные в AWK / SED .

Есть ли какое-либо правило, когда я должен использовать умные кавычки, нормальные и обратные?

Очевидно, мне нужно отредактировать раскладку клавиатуры, чтобы получить умные кавычки.

Ответы [ 8 ]

16 голосов
/ 24 марта 2009

Если вы имеете в виду ` под умными кавычками, то это на самом деле называется «обратная цитата». Умные кавычки - это когда вы печатаете «и», но автоматически получаете «и» или «и» в зависимости от контекста. Я не уверен, как вы будете использовать умные кавычки в awk или sed.

В оболочке обратные кавычки, такие как `command`, используются для оценки команды и подстановки результата команды внутри них в вычисляемое выражение оболочки; его можно использовать для вычисления и аргумента другой команды или для установки переменной. Для меньшей неопределенности вы можете вместо этого использовать $(command), что упрощает разработку многих правил цитирования.

В оболочке ' и " также различаются. " используется для строк, в которых вы хотите подстановку переменных и escape-последовательности. ' представляет строку, содержащую только символы в кавычках, без интерполяции переменных или escape-последовательностей.

Так, например:

$ name=world
$ echo "Hello, $name"
Hello, world
$ echo 'Hello, $name'
Hello, $name
$ echo "Testing \\ escapes"
Testing \ escapes
$ echo 'Testing \\ escapes'
Testing \\ escapes
$ echo `ls`
example-file another-example
$ echo 'ls'
ls
$ echo "ls"
ls

Другие языки сценариев, такие как Perl и Ruby, имеют похожие правила, хотя могут быть небольшие различия.

7 голосов
/ 24 марта 2009

Умные цитаты для красивого набора текста. Они не имеют ничего общего с программированием.

Редактировать: цитаты, которые вам нужны нужны.

  • Двойные кавычки: "" они используются для буквенных строк во многих языках
  • Одинарные кавычки: '' используется для буквенных символов в некоторых языках, таких как C, и для строк в таких языках, как javascript и php (Например, если вам нужно вывести строку «foo», вы можете использовать '"foo"')
  • Обратные кавычки: в оболочках UNIX, чтобы указать подстановку стандартного вывода одной команды в строку текста, определяющую другую команду. Например, echo `` date \ может выполнить echo Sat Mar 1 09:43:00 GMT 2008 и напечатать Sat Mar 1 09:43:00 GMT 2008.
6 голосов
/ 24 марта 2009

Обратные кавычки часто используются в программировании shell / awk / perl и при работе с документами в TeX. Кроме этого, вы, вероятно, не будете их часто использовать.

3 голосов
/ 24 марта 2009

Насколько я знаю, ни один язык не требует (и не обязательно даже поддерживает) "умных кавычек", если только вы не называете символ обратного удара "умной кавычкой". если это так, многие языки поддерживают обратную черту. Например, bash и ruby ​​используют обратную черту для подстановки команд.

Чтобы ответить на вопрос Есть ли какое-либо правило, когда я должен использовать умные и обычные кавычки? , да, есть правило (опять же, если вы подразумеваете обратный удар, когда говорите "умные цитаты") , В большинстве языков разные типы цитирования дают разные типы поведения. Правило таково: узнайте, каково поведение для данного языка, затем выберите цитату, которая дает вам такое поведение.

2 голосов
/ 24 марта 2009

Умные цитаты - это дьявол.

1 голос
/ 17 марта 2010

$ / usr / games / fortune

1 голос
/ 25 марта 2009

Просто К вашему сведению, еще один термин для «умных цитат» (о котором я никогда раньше не слышал) - серьезный акцент.

Я думаю, что правила были достаточно четко изложены в предыдущих ответах.

1 голос
/ 24 марта 2009

Умные кавычки - это функция текстового процессора. Когда вы набираете «quote», он автоматически заменяется на «quote» или «quote». Я думаю, что вы неправильно поняли свою номенклатуру.

...