@dlangru

Страница 221 из 719
Dmitry
14.07.2017
07:54:57
а зачем сишный аналог нужен? Я его ни разу не видел в проектах

должно вывести "Hello Mike"

Denis
14.07.2017
07:56:46
а зачем сишный аналог нужен? Я его ни разу не видел в проектах
изначально был вброс о том что Ди будет компилировать сишный код

Google
Denis
14.07.2017
07:56:53
На это забили года 4 назад всего лишь

Dmitry
14.07.2017
07:57:20
долго до них доходило, что кому нужен Си пишут на Си....

есть шанс что наследие Си в виде куче рудиментов выкинут?

Denis
14.07.2017
07:58:53
Каких рудиментов?

Дед Пегас
14.07.2017
07:59:11
Скобочки.

Dmitry
14.07.2017
08:00:35
я уже писал, что тут пробуют редизайн Ди сделать скрестив его с рядом идей из других языков https://github.com/VoltLang

Каких рудиментов?
тот же print из Си

Denis
14.07.2017
08:01:38
тот же print из Си
его же нет

Вольт гитхабчик распознаёт как ди, лол

должно вывести "Hello Mike"
А Hello это строка? А как об этом догадается компилятор?

Dmitry
14.07.2017
08:16:56
кавычки забыл должно быть: writeln("Hello {username}");

Denis
14.07.2017
08:18:10
Тогда как компилятор узнает что {username} это переменная?

Google
Denis
14.07.2017
08:18:37
есть же нормальные тильды

Dmitry
14.07.2017
08:18:40
ну если выше определена, то подставит ее

если нет — выругается

Denis
14.07.2017
08:18:55
ну если выше определена, то подставит ее
А если не была определена а потом стала определена - внезапно изменится вывод?

Dmitry
14.07.2017
08:19:40
если не была определена ничего не выведет

Как вариант: writeln("Hello $username");

в разы удобнее чем мучиться с %s

Denis
14.07.2017
08:24:41
PHP головного мозга, короч

Удобнее не значит лучше. Твоё предложение а) реализуемо сейчас тобою лично легко б) приведёт к багам во внезапных местах

Так что не проблема это)

А хотя нет, я погорячился насчёт пункта а)

Dmitry
14.07.2017
08:26:06
к каким багам это приведет?

Denis
14.07.2017
08:26:15
Ну будет у тебя вводиться текст в игре "$$$dollarz!$$$ $$$money!$$$"

и тут ты такой завёл переменную money

и всё сломалось

Dmitry
14.07.2017
08:26:42
ну это редкие кейсы и можно придумать как их экранировать

Denis
14.07.2017
08:27:00
убивать убивать убивать(с)

ну это редкие кейсы и можно придумать как их экранировать
Перевод: багов прибавится, но мы как-то (как?) костылями устраним. PHP-подход, реально

Dmitry
14.07.2017
08:31:28
так куча %s наоборот к куче багов приводит и сложностей

qwerty
14.07.2017
08:31:30
Google
qwerty
14.07.2017
08:32:11
в смысле его надо подключать отдельно или это в массивы встроенная функция?

Denis
14.07.2017
08:33:10
так куча %s наоборот к куче багов приводит и сложностей
%s не надо использовать везде - их надо использовать там, где это не приводит к багам. Как минимум, форматирующая строка должна быть задана явно, а не быть получена откуда-то

Andrey
14.07.2017
08:33:27
Вообще интерполяция в строках это реально круто, но как ее в Ди реализовать, хз.

Denis
14.07.2017
08:33:48
чем это плохо?

Dmitry
14.07.2017
08:33:54
@ahdenchik я не думаю что в гугле такие уж говнокодеры если они в Дарте это реализовали

Andrey
14.07.2017
08:34:03
Это не интерполяция

И менее удобно

Dmitry
14.07.2017
08:34:25
Лучше спроси где Ди..))

Denis
14.07.2017
08:34:33
У гугла есть цель, и цель эта не создание хорошего языка или хорошего кода(!)

Это не интерполяция
Что такое интерполяция строк?

Denis
14.07.2017
08:35:34
а как она находит переменные снаружи?

Andrey
14.07.2017
08:35:42
О чем выше писали) "vvv @xxx"

Denis
14.07.2017
08:35:45
поиском в списке символов модуля?

О чем выше писали) "vvv @xxx"
а ну это удобный способ плодить баги)

Andrey
14.07.2017
08:36:07
Да почему

Denis
14.07.2017
08:36:34
А хотя нет, я погорячился насчёт пункта а)
тогда пункт а) в силе. собсно, сделайте такую библиотеку, делов на пару дней

Max
14.07.2017
08:36:49
Дык я же кинул выше, есть уже

Google
Denis
14.07.2017
08:36:50
Да почему
щас отфорвардю почему

Дык я же кинул выше, есть уже
Видимо она чем то плоха раз её 2.5 челвоека знают)

Andrey
14.07.2017
08:37:21
Я и говорю, сложно. Вроде есть такая либа, но лучше б на уровне языка

Denis
14.07.2017
08:37:24
Андрей, вот:

Ну будет у тебя вводиться текст в игре "$$$dollarz!$$$ $$$money!$$$"

и тут ты такой завёл переменную money

и всё сломалось

Max
14.07.2017
08:37:30
Видимо у D все библиотеки такие, а эта с топа гугловской выдачи.

Берешь и экранируешь символы - вот и нет бага. Или разделить строки как в дотнете

Admin
ERROR: S client not available

Denis
14.07.2017
08:38:31
Берешь и экранируешь символы - вот и нет бага. Или разделить строки как в дотнете
А как там они разделены? Сначала плодим баги а потом героически их преодолеваем? И не забывайте что уже есть format

Andrey
14.07.2017
08:38:44
Для нвчала оно не скомпилится, если не будет перемннной

Denis
14.07.2017
08:39:20
Для нвчала оно не скомпилится, если не будет перемннной
То есть, экранировать предлагается доллары?

Max
14.07.2017
08:39:25
Простые строки ("") и те что с $ ($"") начинаются

Andrey
14.07.2017
08:39:35
Ага

Denis
14.07.2017
08:39:41
Шило на мыло

format это ровно то же самое, но с явным указанием используемых переменных

Andrey
14.07.2017
08:40:16
Тоже да не то)

Такие мелочи и созлают удобство

Ну в Ди да, нет сигилов в переменныз, что то надо изобретатт

Google
Denis
14.07.2017
08:42:06
сигилов?

Собрались какие-то люди, которым явно лисп нужен, а они страдают с ди)

Andrey
14.07.2017
08:43:46
Не страдают)

Denis
14.07.2017
08:44:22
Я щитаю что Ди это не про удобство а про надёжность прежде всего. Это две разницы. То как вы хотите строки это ненадёжно, а значит в ди нинужно.

Andrey
14.07.2017
08:45:25
Да все надежно. То же самое, как format, только удобней

Denis
14.07.2017
08:46:08
Сделать такое в ди сейчас можно? Можно, выяснили. Почему вой? Юзайте, чо)

Dmitry
14.07.2017
08:46:45
надо чтобы это стандартом было, а не так что каждый делает по своему

Denis
14.07.2017
08:49:14
Кому надо? То что я про форматы и ~ рассказал было кем-то из отцов обосновано и мною вычитано

так шта, стае это не надо, скорее всего. а кому надо библиотека есть, юзайте

Это же надо будет весь существующй код пропарсить на предмет экранирования долларов

если этого не сделать то изменение в одном месте кода (добавление переменной) будет ломать эти функции строковые в рандомных местах

и каждая строка при выводе в рантайме будет парситься, что адски дорого

Denis
14.07.2017
08:54:41
речь видимо об in который ищет в ассоциативных массивах

Откзаались от таких перегрузок из-за плохого опыта в С++

Andrey
14.07.2017
08:56:26
Не в рантайме. Но библиотекамм такое делатт не айс... Надо короче внести изменеия в синтаксис - пусть все переменные будут начинаттся с сигилов

Denis
14.07.2017
08:56:56
Не в рантайме не получится - строки таки переменные в некотором роде

Dmitry
14.07.2017
08:57:09
http://dlang.org/spec/operatoroverloading.html#binary - вот тут оператор in переопределяется

Andrey
14.07.2017
08:58:41
Строка константа, в компиле тайм можно распарсмть... Надо посмотреть, как реалмзовано, если вобще есть такое

Denis
14.07.2017
08:59:16
http://dlang.org/spec/operatoroverloading.html#binary - вот тут оператор in переопределяется
мне кажется или раньше « и » нельзя было перегрузить? И это преподносилось как преимущество, потому что С++ код из-за этого было тяжело читать

Строка константа, в компиле тайм можно распарсмть... Надо посмотреть, как реалмзовано, если вобще есть такое
Строка иммтэйбл, но на момент старта программы она неизвестна - она могла быть извне получена

Страница 221 из 719