На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (7) « Первая ... 2 3 [4] 5 6 ... Последняя » все  ( Перейти к последнему сообщению )  
> Rust vs Чистейший Си , и еще си шарп вдогоночку
    Т.е. на винде, если пишешь на Чистейших Сях, argc = 2, а в argv всегда два элемента: имя исполняемого файла и строка со всеми аргументами?
      Нет, туда всё как надо приходит.
        Цитата OpenGL @
        Кстати, умеет ли D парсить эту строку на этапе компиляции и сразу говорить, что, например, количество %s и переданных параметров друг другу не соответствуют?
        Умеет. Если форматная строка известна на стадии компиляции, то можно вместо
        ExpandedWrap disabled
          format("%s: %s", a, b)

        писать
        ExpandedWrap disabled
          format!("%s: %s")(a, b)

        тогда компилятор будет проверять соответствие количества, а так же соответствие типов, если вместо %s указывать спецификаторы конкретных типов.
        Строковая интерполяция во многих случаях удобная вещь, но у нее есть ограничения, например нельзя указывать параметры форматирования. Например если я хочу вывести целое в 16-ричном виде или выравнивание сделать. Строковая интерполяция также не позволяет использовать форматную строку сформированную в рантайме.
        Дешный формат умеет также форматировать массивы и range. Короче наголову выше своих сишных и плюсовых аналогов.

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

        Таки это две скорее дополняющие друг-друга фичи, чем конкурирующие решения. Я бы предпочел иметь в языке обе возможности.
        Сообщение отредактировано: applegame -
          Шел 2019, народ парсил строки... :scratch: Возьмите перл, ёмана! :D
            Цитата Астарот @
            Шел 2019, народ парсил строки... Возьмите перл, ёмана!
            Мы не парсим строки, мы наоборот - форматируем. :rolleyes:
              Цитата Астарот @
              Возьмите перл, ёмана!
              Не слушайте этого демона!
                Цитата applegame @
                Мы не парсим строки, мы наоборот - форматируем. :rolleyes:

                А все равно ответ будет тот же :D

                Цитата Qraizer @
                Не слушайте этого демона!

                Во, дело говорит! Я сам перл в руки не возьму! :D
                  Цитата Астарот @
                  Шел 2019

                  Цитата Астарот @
                  Возьмите перл

                  Да ты мастер взаимоисключающих параграфов.
                    Цитата applegame @
                    Умеет.

                    Ну тогда аргументы Кили совсем несостоятельны.
                      Цитата korvin @
                      Да ты мастер взаимоисключающих параграфов.

                      Умеем. Можем. Практикуем.

                      Добавлено
                      Вообще, если подумать, то задача "взять аргументы командной строки, как-то там их приготовить, и вызвать другую программу - и все это на шарпее" как-то вводит в оторопь. У меня такие задачи плотно ассоциируются исключительно со скриптами. В линухе целый баш для этого придумали, а потом заменили питоном. Нафига тут шарп-то? :-?
                        Очевидно, что это не является самостоятельной задачей. Ты никогда из своих программ другие что ли не вызывал?
                          Цитата OpenGL @
                          Ты никогда из своих программ другие что ли не вызывал?

                          Нет :) Если и надо было, то это всегда укладывалось в парадигму "сделай запрос к сервису" или "положи сообщение в очередь", а что б вот так, на уровне командной строки...
                            Цитата Астарот @
                            Нет Если и надо было, то это всегда укладывалось в парадигму "сделай запрос к сервису" или "положи сообщение в очередь", а что б вот так, на уровне командной строки...
                            Повезло. Я вот к ImageMagick делал вызовы. Не из шарпея. Городить целый сервис ради этого посчитал избыточным, тем более, что в сервисе все равно пришлось бы делать вызов к IM. :)
                            Сообщение отредактировано: applegame -
                              Цитата OpenGL @
                              Ну тогда аргументы Кили совсем несостоятельны.

                              Если бы ты еще понимал что тебе Киля то пишет. Наличие того, что компилятор будет считать за тебя количество аргументов еще не означает, что он будет за тебя проверять в правильном ли ты порядке написал эти аргументы. Я тебе выше даже пример написал.
                                Цитата Wound @
                                Я тебе выше даже пример написал.

                                И что? На практике порядок путается крайне редко, а формат длинной строки как в твоём примере вообще не делается.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0445 ]   [ 14 queries used ]   [ Generated: 18.07.25, 00:54 GMT ]