Search
Write a publication
Pull to refresh

Comments 21

Двойные, кроме случаев, когда заведомо не нужна интерполяция.
не придумал как впихнуть в опрос это
я вот вообще на ruby стараюсь третий вариант, а html — только двойные
кстати из консоли Ruby
n = 5000000
Benchmark.bm(7) do |x|
x.report("\"") { n.times do a = «fadfasd» end}
x.report("'") { n.times do a = 'fadfasd' end }
x.report(":") { n.times do a = :fadfasd end}
end

user system total real
" 2.516000 0.000000 2.516000 ( 2.609408)
' 2.500000 0.000000 2.500000 ( 2.546908)
: 0.406000 0.000000 0.406000 ( 0.406255)

Насколько такая оценка производительности адекватна?
И, почему символ так быстр?

PS ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
потому, что символ не создаётся как объект каждый раз. одно значение — один объект на программу.
основы руби.
Если имеете в виду PHP, нужно это писать.

Иначе опрос теряет смысл. Есть языки (java, C) где двойные кавычки означают строку, а одинарные — символ (char). И ни о какой интерпретации речь не идет.
о, к своему стыду признаюсь, что с указаными вами языками знаком весьма мельком, и не знал таких тонкостей. Спасибо, прокачали
Тройные, в ""«python»"". Или правильно будет их назвать шестерными кавычками?
Укажите в опросе, что имеется ввиду php.
C/C++ — двойные для строк (есть варианты?)
JS/JQuery — одинарные, потому что неохота экранировать двойные кавычки, которые повсеместно.
PHP — третий вариант.
Все остальные языки — двойные, поскольку есть желание минимизировать набор синтаксических средств, дабы потом не напрягать мозг, вспоминая язык.
Все остальные языки — двойные, поскольку есть желание минимизировать набор синтаксических средств, дабы потом не напрягать мозг, вспоминая язык.

Солидарен, поэтому и в php использую двойные ковычки, а вместо интерпретации использую конкатенацию строк, так как, например, такой код
$a = array(«arr1» => 1, «arr2» => 2);
echo "$a['arr1']";
Вываливается с ошибкой

PS: сорри, теги съелись.
Ну да. Пример неудачный. Как насчет такого:

class Test
{
static function getText()
{
return «Hello world»;
}
function getObjText()
{
return «Hello world»;
}
}

$a = new Test();


echo «Test::getText()$a->getObjText()»;

?
В статический метод интерпретируется, как строка, обычный — как свойство, а мне нужно, чтобы вызывался метод и подставлялось возвращаемое значение.
На любом языке надо уметь писать.
Так и тут — надо понимать, где подстановка переменных в кавычки допустима, а где нет. А не бездумно пихать всё в кавычки или городить везде громоздкую конкатенацию.
Без указания языка опрос вообще не имеет смысла
UFO landed and left these words here
С — только двойные, т.к. в одинарных char
Pascal — одинарные. двойных там вообще нет
PHP — одинарные как string, двойные — как magic string
mySQL — ` — для полей, тиблиц, ' — для строк

Каждый язык индивидуален в этом плане, практически.
А в 1С, наверное, по традиции русификации всего синтаксиса и вовсе кириллические кавычки «ёлочки» используют ;)
Sign up to leave a comment.

Articles