Еще один вариант скобок...
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.12.09 19:25
Оценка:
Как вариант (почти на правах бреда) можно использовать юникодные символы из расширенного набора.

Например, во почти во всех шрифтах есть сиволы: ‹› они очень похоже на знаки < > но все же имеют отличное начертание:
Method‹int›(Method‹string, int›) // \u2039 \u2040 
Method<int>(Method<string, int>) // знаки больше и меньше

в выражении:
when (Method‹int›(Method‹string, int›) > 0)
  ...


Файлы у нас и так в utf-8 хранятся так что проблем быть не должно. Ну, а для ввода прийдется биндить их на некоторые сочетания кнопок. Например, на Ctrl+< и Ctrl+>.

Минусы:
1. Нельзя записать исходный файл в ASCI или национальную кодировку (последнее компилятор немерле и так не поддерживает).
2. Визуально знаки отличимы не очень сильн, так что те кто не любит С++-ного решения будет опять же недовольны.

Еще варианты:
«» - ковычки "отечественные" (больше годятся для строк)
₍₎ - скобки сабскриптные (мелковато) 
◄ ► (стрелки из псевдографики)
˂˃ - еще одни стрелки похожие на больше/меньше \u02C2 \u02C3 (в)
<> - знаки больше и меньше исползуемые в С++.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Еще один вариант скобок...
От: Воронков Василий Россия  
Дата: 14.12.09 19:42
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Например, во почти во всех шрифтах есть сиволы: ‹› они очень похоже на знаки < > но все же имеют отличное начертание:

VD>[c#]
VD>Method‹int›(Method‹string, int›) // \u2039 \u2040
VD>Method<int>(Method<string, int>) // знаки больше и меньше

Нуна У меня в блокнотике такую ерунду даже вставить нетривиально будет.

Может все же типа такого:

Type!<d,d,d>

Это хоть и похоже на нынешнюю точку, то выглядит имхо вполне ничего. К тому же ! в этих целях уже вроде как примелькался.
Re: U+2329
От: Qbit86 Кипр
Дата: 14.12.09 19:51
Оценка:
Здравствуйте, VladD2, Вы писали:

Есть ещё кошерные символы: U+2329 и U+232A. Я сейчас попробую их изобразить. Если в шрифте вашего браузера нет глифов для этих символов, то увидите квадратики:
1) В обычном тексте (глифы заведомо есть в шрифте Arial Unicode MS, например):
when (Method〈int〉(Method〈string, int〉) > 0)
2) В коде (моноширинные шрифты, как правило, более бедны):
when (Method〈int〉(Method〈string, int〉) > 0)

Именно такие скобки я бы предпочёл для шаблонов или туплов.
Глаза у меня добрые, но рубашка — смирительная!
Re[2]: U+2329
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.12.09 20:11
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Есть ещё кошерные символы: U+2329 и U+232A. Я сейчас попробую их изобразить. Если в шрифте вашего браузера нет глифов для этих символов, то увидите квадратики:

Q>1) В обычном тексте (глифы заведомо есть в шрифте Arial Unicode MS, например):
Q>when (Method〈int〉(Method〈string, int〉) > 0)
Q>2) В коде (моноширинные шрифты, как правило, более бедны):
Q>
when (Method〈int〉(Method〈string, int〉) > 0)

Q>Именно такие скобки я бы предпочёл для шаблонов или туплов.

Эти точно не пойдут. В шрифте Consolas их нет. В результате они занимают более двух позиций (т.е. не моноширинные). В Courier New тоже, но в нем (в студии) они отбражаются как съеженные кракозабры.

ЗЫ

Но тут важен именно сам вопрос. Можно ли применять расширенные юникод-символы? Потому как, если пойти на это, то символы уже можно подобрать.

Основные минусы:
1. Невозмоность набора в примитивных редакторах (типа нотпэда).
2. Наличие не во всех шрифтах (но можно подобрать такие что будут в подавляющем большинстве).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Еще один вариант скобок...
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 14.12.09 20:21
Оценка: +2
Я хоть и использую греческие буквы для названия переменных, но это даже для меня слишком радикально.

VD> 1. Нельзя записать исходный файл в ASCI или национальную кодировку (последнее компилятор немерле и так не поддерживает).


Это, к тому же, может затруднить цитирование кода в чатах и на сайтах не поддерживающих юникод.
Ce n'est que pour vous dire ce que je vous dis.
Re: Еще один вариант скобок...
От: hi_octane Беларусь  
Дата: 15.12.09 09:22
Оценка:
VD>Как вариант (почти на правах бреда) можно использовать юникодные символы из расширенного набора.

Однозначно не стоит использовать символы подобные стандартным или похожие на них. Люди которые увидят Nemerle впервые — будут уверены что правильно вводят скобки и при этом программа у них будет некомпилируемой. Разьянять на каждом углу что скобки особенные — времени не напасёшься. Да и учти что многим даже в голову не придёт что у них скобки "неправильные", скорее то что язык "неправильный".
Re: Еще один вариант скобок...
От: konstardiy  
Дата: 29.12.09 16:26
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Как вариант (почти на правах бреда) можно использовать юникодные символы из расширенного набора.


VD>Например, во почти во всех шрифтах есть сиволы: ‹› они очень похоже на знаки < > но все же имеют отличное начертание:

VD>
VD>Method‹int›(Method‹string, int›) // \u2039 \u2040 
VD>Method<int>(Method<string, int>) // знаки больше и меньше

VD>в выражении:
VD>when (Method‹int›(Method‹string, int›) > 0)
VD>  ...
VD>


VD>Файлы у нас и так в utf-8 хранятся так что проблем быть не должно. Ну, а для ввода прийдется биндить их на некоторые сочетания кнопок. Например, на Ctrl+< и Ctrl+>.


VD>Минусы:

VD>1. Нельзя записать исходный файл в ASCI или национальную кодировку (последнее компилятор немерле и так не поддерживает).
VD>2. Визуально знаки отличимы не очень сильн, так что те кто не любит С++-ного решения будет опять же недовольны.

VD>Еще варианты:

VD>
VD>«» - ковычки "отечественные" (больше годятся для строк)
VD>₍₎ - скобки сабскриптные (мелковато) 
VD>◄ ► (стрелки из псевдографики)
VD>˂˃ - еще одни стрелки похожие на больше/меньше \u02C2 \u02C3 (в)
VD><> - знаки больше и меньше исползуемые в С++.
VD>

Э.... Ну уж лучше тогда @() или @[] ....Как я это набирать буду :? Збиндить разве что на шифт с колёсиком:?
Re: Еще один вариант скобок...
От: AlexVinS Россия  
Дата: 10.02.10 17:14
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Как вариант (почти на правах бреда) можно использовать юникодные символы из расширенного набора.


VD>Например, во почти во всех шрифтах есть сиволы: ‹› они очень похоже на знаки < > но все же имеют отличное начертание:


Я был бы не против использования расширенных символов, НО только для каких либо очень специфических, очень редко используемых задач (чтобы отсутствие биндинга не замедляло написание программы)


Умный человек знает не многое, но нужное
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.