Связать две функции без пробела между ними

Я пишу документацию для библиотеки, используя хэддок, и по причинам, которые на самом деле не нужно объяснять, мне нужно включить в свою документацию небольшой блок кода, который выглядит так:

z(<>)

Важно отметить, что между z и (<>) не должно быть пробелов. Это может быть немного эзотерично, но

z (<>)

сделает мою документацию неправильной, даже если она стилистически более правильна.

Теперь я считаю, что гиперссылки как на z, так и на (<>) были бы полезны. Ни у одного из них нет очень информативного имени, поэтому ссылка, которая помогает людям запомнить их определения и цель, хороша.

Итак, мой код без гиперссылок выглядит так:

@z(<>)@

А для добавления гиперссылок я использую одинарные кавычки:

@'z''(<>)'@

За исключением того, что это не работает, хэддок видит 'z'' и думает, что я имею в виду связать z' (функция, которая существует в моем модуле), а затем просто оставляет все остальное в покое. Визуализированный вывод выглядит так

z'(<>)'

Теперь в качестве эксперимента я удалил определение z', однако единственная разница в том, что ссылка на z' исчезла. Необработанный текст остается прежним. Следующее, что я попробовал, это вообще отказаться от @ и сделал

'z''(<>)'

Это также создало гиперссылку на z' и оставило все остальное нетронутым, та же проблема, что и раньше, за исключением того, что теперь в блоке кода ничего нет.

Как сделать блок кода, который связывает две функции без пробела между ними?


person Éamonn Olive    schedule 25.03.2020    source источник
comment
На самом деле нет необходимости откладывать такие вещи.   -  person dfeuer    schedule 26.03.2020
comment
Это странно. Я никогда не знал об особом отвращении к самостоятельным ответам. Не могу сказать, поэтому или нет.   -  person dfeuer    schedule 26.03.2020
comment
@dfeuer Я пошел дальше и проверил данные, и похоже, что моя память была неправильной. Большинство моих ответов являются самостоятельными, но только у одного есть отрицательный голос. Я предполагаю, что у людей есть склонность реагировать на негативные события сильнее, чем следовало бы. Спасибо, что помогли мне осознать мою предвзятость.   -  person Éamonn Olive    schedule 26.03.2020


Ответы (2)


Вы можете разделить две функции на разные блоки кода. Если между блоками кода нет пробела, он не будет отличаться от одного блока кода. Так

@'z'@@'(<>)'@

будет отображаться по желанию.

Вы также можете сделать это в одном блоке кода, переместив ' внутри круглых скобок, чтобы окружить только <>.

@'z'('<>')@

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

person Éamonn Olive    schedule 26.03.2020
comment
Эта вторая версия кажется гораздо более семантически разумной, чем первая. - person dfeuer; 26.03.2020

Вот альтернативное решение, которое можно добавить к уже предоставленному вами ответу:

Вы можете смешивать и сочетать ' и '. Эти два также будут правильно отображаться пикшей:

-- | @`z`'(<>)'@
-- | @'z'`(<>)`@

В то же время я попробовал ваше решение @'z'@@'(<>)'@, и оно у меня почему-то не отобразилось должным образом, а с пикшей мало ли что.

Вот все, что я пробовал:

-- * @'z'@@'(<>)'@
-- * @'z'('<>')@
-- * @'z'`(<>)`@
-- * @`z`'(<>)'@

С соответствующим результатом:

введите здесь описание изображения

person lehins    schedule 27.03.2020