Мне нужно передать массив в качестве аргумента в мое приложение. Это массив цветов в формате hsl, поэтому значения выглядят как "hsl(123,20%,30%)","hsl(94,30%,30%)"
. Из-за этого разделяющие элементы с ,
здесь, кажется, не очень удобны. Что такое другие обозначения? Если я хорошо помню, что Java использовал :
в качестве разделителя списка. Является ли это широко используемой нотации?Что такое стандартная нотация для передачи массива для программирования в качестве аргумента CLI?
ответ
Оболочка A (POSIX) на самом деле не очень беспокоит аргументы, которые вы передаете своей программе. Единственная проблема здесь в том, что вам нужно процитировать их, потому что вы используете скобки, которые оболочка не любит кавычки, за исключением случаев, когда часть какой-то синтаксической конструкции.
Если вы хотите использовать запятую, двоеточие или что-то другое, то не связано с оболочкой, а также то, как ваше приложение анализирует свои параметры. Наличие запятых как разделителей компонентов, так и разделителей элементов массива не так сложно для парсера, но другая пунктуация упростит его. Возможно, я использовал точку с запятой, все еще предполагая, что аргумент цитируется.
Другим подходом было бы передать каждый цвет в качестве отдельного аргумента, то есть использовать пробельный символ в качестве разделителя. Это было бы прост в обращении, если за этим массивом не должны следовать другие аргументы.
Вопрос состоит в том, чтобы отделить несколько этих цветов и не использовать запятую для этого, поскольку он уже используется внутри каждого определения цвета. – TessellatingHeckler
@TessellatingHeckler Вы правы, я неправильно понял вопрос. Ответ переписан. – jlliagre
Какая оболочка? Какая программа? – TessellatingHeckler