Как передать аргументы создания в абстракцию?

Вопрос относительно чистых данных: поддерживают ли абстракции аргументы создания? Если так, как я могу заставить их работать? У меня есть такая настройка, и я ожидаю, что 1 появится в нижнем поле в bar.pd. Действительно ли мне нужно передавать все аргументы в foo, используя другие поля (как показано в bar2.pd)?

foo.pd:

[inlet]
|
[outlet]

bar.pd (не работает):

[foo 1]
|
[0\

bar2.pd (это работает):

[loadbang]
|
[1(
|
[foo]
|
[1\

1 ответ

Решение

Чтобы ответить на ваш вопрос немедленно: да. Подлатчи, или, если быть точнее, абстракции, поддерживают сколько угодно аргументов создания.

Вы можете ссылаться на аргументы создания внутри абстракции как $1, $2 и т. Д., Но будьте осторожны, потому что эти типы переменных НЕ совпадают с теми, которые используются в сообщениях.

Так что если foo.pd это:

[loadbang]
|
[f $1]
|
[outlet]

И вы называете это из bar.pd следующим образом:

[foo 1]
|
[1\

Результатом, выходящим из выхода foo, будет любая переменная, которую вы выберете для вставки в качестве переменной создания при вызове foo.

В заключение, нет необходимости передавать все аргументы в foo, используя другие поля.

Другие вопросы по тегам