Разыскивается синтаксис для формата строк в $-строке
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.06.07 16:44
Оценка:
Хочу добавить поддержку форматирования в $-строках и (главное) в StrinTemplate. Встал вопрос как это оформить синтаксически.

Фрмат будет задаваться как-то так:
$" x=$(x; описание формата);"

Но как его описывать конерктно?

Преложения принимаются и рассматириваются в течении пары дней.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Разыскивается синтаксис для формата строк в $-строке
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 12.06.07 16:58
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Хочу добавить поддержку форматирования в $-строках и (главное) в StrinTemplate. Встал вопрос как это оформить синтаксически.


VD>Преложения принимаются и рассматириваются в течении пары дней.


Форматирования чего? Чисел? Или всего подряд?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re: Разыскивается синтаксис для формата строк в $-строке
От: Иванков Дмитрий Россия  
Дата: 12.06.07 16:58
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Хочу добавить поддержку форматирования в $-строках и (главное) в StrinTemplate. Встал вопрос как это оформить синтаксически.


VD>Фрмат будет задаваться как-то так:

VD>
VD>$" x=$(x; описание формата);"
VD>

VD>Но как его описывать конерктно?

Старый добрый формат printf?
А собственно что форматировать и кто это форматирует?
Re: Разыскивается синтаксис для формата строк в $-строке
От: IO Украина  
Дата: 12.06.07 17:07
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Преложения принимаются и рассматириваются в течении пары дней.

Предложение 1: тупо содрать форматирование с C# — string.Format("{0:format}", x)
Re[2]: Разыскивается синтаксис для формата строк в $-строке
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.06.07 17:36
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Форматирования чего? Чисел? Или всего подряд?


Всего подряд. Там все что угодно может быть.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Разыскивается синтаксис для формата строк в $-строке
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.06.07 17:36
Оценка:
Здравствуйте, IO, Вы писали:

VD>>Преложения принимаются и рассматириваются в течении пары дней.

IO>Предложение 1: тупо содрать форматирование с C# — string.Format("{0:format}", x)

А есть где-нить полное и понятное описание этого дела?
И там еще IFormat или что-то вроде того ведь задействуется. Надо бы это дело тогда тоже поддерживать.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Разыскивается синтаксис для формата строк в $-строке
От: FDSC Россия consp11.github.io блог
Дата: 12.06.07 17:44
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Фрмат будет задаваться как-то так:

VD>
VD>$" x=$(x; описание формата);"
VD>

VD>Но как его описывать конерктно?

Можно тупой вопрос: а в чём проблема?

Грубо говоря, строка $" x=$(x; описание формата);" должна разворачиваться в "x = " + x.ToString(описание формата);
Или я чего-то не понимаю как всегда?
Re[3]: Разыскивается синтаксис для формата строк в $-строке
От: IO Украина  
Дата: 12.06.07 18:01
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, IO, Вы писали:


VD>>>Преложения принимаются и рассматириваются в течении пары дней.

IO>>Предложение 1: тупо содрать форматирование с C# — string.Format("{0:format}", x)

VD>А есть где-нить полное и понятное описание этого дела?

MSDN -> .NET Framework Developer's Guide -> Composite Formatting -> Format Item Syntax

VD>И там еще IFormat или что-то вроде того ведь задействуется. Надо бы это дело тогда тоже поддерживать.

Мы говорим о поддержке String.Format (String, Object[]). Можно прямо в эту функцию развернуть (как было сказано).

Поддерживать ли String.Format (IFormatProvider, String, Object[]) и остальные даже не знаю... таким макаром получится просто враппер над форматированием C#. Правда подсахареный.
Re[3]: Разыскивается синтаксис для формата строк в $-строке
От: IT Россия linq2db.com
Дата: 13.06.07 01:07
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А есть где-нить полное и понятное описание этого дела?

VD>И там еще IFormat или что-то вроде того ведь задействуется. Надо бы это дело тогда тоже поддерживать.

Можно глянуть реализацию string.Format.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Разыскивается синтаксис для формата строк в $-строке
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.06.07 14:27
Оценка:
Здравствуйте, IT, Вы писали:

IT>Можно глянуть реализацию string.Format.


У меня нет Ротора под ругой, а декомпиляция может что-то похерить. Если у кого есть, пошлите мне файл с реализацией string.Format на мыло.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Разыскивается синтаксис для формата строк в $-строке
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.06.07 14:27
Оценка:
Здравствуйте, IO, Вы писали:

VD>>А есть где-нить полное и понятное описание этого дела?

IO>MSDN -> .NET Framework Developer's Guide -> Composite Formatting -> Format Item Syntax

Проще было ссылку дать. И боюсь, что там не полное описание. Все что я видел в МСДН было каким-то запутанным. По нему пользоваться то было сложно, а уж писать...

VD>>И там еще IFormat или что-то вроде того ведь задействуется. Надо бы это дело тогда тоже поддерживать.

IO>Мы говорим о поддержке String.Format (String, Object[]). Можно прямо в эту функцию развернуть (как было сказано).

Не. Так точно не стоит. Это резко замедлит скорость. У нас пока что $-строки прямо в конкатинацию строк разворачиваются (что является самым быстрым вариантом), а StringTemplate в конкатинацию на StringBuilder-е.

IO>Поддерживать ли String.Format (IFormatProvider, String, Object[]) и остальные даже не знаю... таким макаром получится просто враппер над форматированием C#. Правда подсахареный.


Точно поддерживает. МС скорее пожертвует скоростью нежели универсальностью.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Разыскивается синтаксис для формата строк в $-строке
От: IT Россия linq2db.com
Дата: 14.06.07 00:20
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Проще было ссылку дать. И боюсь, что там не полное описание. Все что я видел в МСДН было каким-то запутанным. По нему пользоваться то было сложно, а уж писать...


А тебе и не надо писать. Просто используй ToString(format).
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Он в инете есть весь
От: Блудов Павел Россия  
Дата: 14.06.07 01:51
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>У меня нет Ротора под ругой, а декомпиляция может что-то похерить. Если у кого есть, пошлите мне файл с реализацией string.Format на мыло.


http://dotnet.di.unipi.it/Content/sscli/docs/doxygen/fx/bcl/string_8cs-source.html
... << RSDN@Home 1.2.0 alpha rev. 692>>
Re[6]: Разыскивается синтаксис для формата строк в $-строке
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.06.07 23:16
Оценка:
Здравствуйте, IT, Вы писали:

VD>>Проще было ссылку дать. И боюсь, что там не полное описание. Все что я видел в МСДН было каким-то запутанным. По нему пользоваться то было сложно, а уж писать...


IT>А тебе и не надо писать. Просто используй ToString(format).


Идея мне нравится. Но где берут этот "ToString"? И как он ведет себя для разных типов?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Он в инете есть весь
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.06.07 23:16
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>http://dotnet.di.unipi.it/Content/sscli/docs/doxygen/fx/bcl/string_8cs-source.html


Сенкс, на досуге по ковыряюсь.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Разыскивается синтаксис для формата строк в $-строке
От: IT Россия linq2db.com
Дата: 14.06.07 23:51
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Идея мне нравится. Но где берут этот "ToString"? И как он ведет себя для разных типов?


Большинство типов поддерживают интерфейс IFormattable.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Разыскивается синтаксис для формата строк в $-строке
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.06.07 00:19
Оценка:
Здравствуйте, IT, Вы писали:

IT>Большинство типов поддерживают интерфейс IFormattable.

Вот это большинство согалсно Рефлетктору:
System.Byte
System.DateTime
System.Decimal
System.Double
System.Enum
System.Guid
System.Int16
System.Int32
System.Int64
System.Numeric.BigInteger
System.SByte
System.Single
System.UInt16
System.UInt32
System.UInt64

На мой взгляд довольно ограниченное. Можно конечно, если задан формат, пробовать получить IFormattable и вызвать ToString, но там он довольно сложный:
string ToString(string format, IFormatProvider formatProvider);

где брать реализацию этого IFormatProvider-а?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Разыскивается синтаксис для формата строк в $-строке
От: IT Россия linq2db.com
Дата: 15.06.07 00:31
Оценка:
Здравствуйте, VladD2, Вы писали:

IT>>Большинство типов поддерживают интерфейс IFormattable.

VD>Вот это большинство согалсно Рефлетктору:

Большинство простых типов. Как раз то, что нужно. Вообще, это стандартный способ применить формат в фреймворке. Тот же метод string.Format вызывает StringBuilder.ApplayFormat, который в свою очередь выпарсивает форматы из строки формата и если, объект реализует IFormattable, то вызывает IFormattable.ToString. Думаю, тебе можно незатейливо содрать эту реализацию.

VD>
VD>string ToString(string format, IFormatProvider formatProvider);
VD>

VD>где брать реализацию этого IFormatProvider-а?

Туда можно передавать null. string.Format так и делает.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: Разыскивается синтаксис для формата строк в $-строке
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.06.07 00:38
Оценка:
Здравствуйте, IT, Вы писали:

IT>Большинство простых типов. Как раз то, что нужно. Вообще, это стандартный способ применить формат в фреймворке. Тот же метод string.Format вызывает StringBuilder.ApplayFormat, который в свою очередь выпарсивает форматы из строки формата и если, объект реализует IFormattable, то вызывает IFormattable.ToString. Думаю, тебе можно незатейливо содрать эту реализацию.


VD>>
VD>>string ToString(string format, IFormatProvider formatProvider);
VD>>

VD>>где брать реализацию этого IFormatProvider-а?

IT>Туда можно передавать null. string.Format так и делает.


Попробуем.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.