Как явно указать допустимые настройки для параметра? Возьмем этот пример, например,
Options[myFunc] = {opt1 -> "SomeString"};
myFunc[OptionsPattern[]] := Print[OptionValue[opt1]];
myFunc
печатает значение параметра. Если мы оценим myFunc [opt1 -> {1, 2}]
, затем выводится {1, 2}
. Эта функция будет печатать все, что вы установили в opt1
. У меня вопрос: как я могу убедиться, что моя функция принимает только заданное количество значений для opt1
. Мы можем начать с чего-нибудь простого, например, с String
и Integer
.
Чтобы лучше понять поведение, которого мы ожидаем при неправильных значениях для opt1
мы можем посмотреть, что происходит, когда мы даем неправильные значения для PlotRange
в функции Plot
.
В примере, приведенном на картинке, я намеренно дал неверные значения значения для параметров PlotRange
и дал мне сообщение с указанием правильного типа значений для этих конкретных параметров. Кажется, что PlotRange
в конечном итоге принял значение по умолчанию и, таким образом, вернул объект Graphics
.
В простом примере мы хотели бы получить что-то вроде:
myFunc::sometag : Value of option opt1 -> `1` is not a string or integer.
Как этого добиться?