Автор |
Сообщение |
Сообщение создано: 26. 12. 2014 [12:57]
|
fido_max
Maxim Kochetkov
Contributor
Создатель темы
Зарегистрирован(а) с: 28.10.2010
Сообщения: 129
|
При создании контроллера от функции из библиотеки JavaLikeCalc, входные параметры становятся атрибутами только для чтения, а выходные - наоборот для записи.
Проясните тогда пожалуйста, как в таком случае передать в функцию входной параметр через атрибут, если он только для чтения?
|
Сообщение создано: 26. 12. 2014 [13:13]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"fido_max" wrote:
При создании контроллера от функции из библиотеки JavaLikeCalc, входные параметры становятся атрибутами только для чтения, а выходные - наоборот для записи.
Проясните тогда пожалуйста, как в таком случае передать в функцию входной параметр через атрибут, если он только для чтения?
Во первых, "только для чтения" и "для записи" это нотация контроллера JavaLikeCalc при пробросе их в атрибуты параметра этого контроллера, следовательно применять эти термины для общего понятия функции как минимум не предметно.
Во вторых, суть вопроса совершенно не понятна.
В третьих, в документации всё нормально написано.
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 26. 12. 2014 [13:32]
|
fido_max
Maxim Kochetkov
Contributor
Создатель темы
Зарегистрирован(а) с: 28.10.2010
Сообщения: 129
|
В библиотеке создаю функцию с двумя параметрами целого типа:
a - вход
b - выход
Текст функции:
Создаю от нее контроллер в JavaLikeCalc, в контроллере создаю параметр, в поле данных параметра пишу:
включаю/запускаю все это дело, перехожу в конфигураторе на вкладку атрибутов и вижу, что у меня создалось два атрибута "а" и "b". "а" равен нулю, и только для чтения (хотя он входной параметр для функции). "b" равен 1 (все правильно 0+1) и он доступен для записи, хотя это результат работы функции и менять его бесполезно, т.к. он перезаписывается из самой функции.
|
Сообщение создано: 26. 12. 2014 [13:37]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"fido_max" wrote:
включаю/запускаю все это дело, перехожу в конфигураторе на вкладку атрибутов и вижу, что у меня создалось два атрибута "а" и "b". "а" равен нулю, и только для чтения (хотя он входной параметр для функции). "b" равен 1 (все правильно 0+1) и он доступен для записи, хотя это результат работы функции и менять его бесполезно, т.к. он перезаписывается из самой функции.
Правильно, указанные атрибуты функции:
a - вход
b - выход
и послужили определению атрибутов параметра как:
a - только чтение
b - чтение и запись
Всё так и задумано, опять читаем документацию!
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 26. 12. 2014 [13:48]
|
fido_max
Maxim Kochetkov
Contributor
Создатель темы
Зарегистрирован(а) с: 28.10.2010
Сообщения: 129
|
"roman" wrote:
Правильно, указанные атрибуты функции:
a - вход
b - выход
и послужили определению атрибутов параметра как:
a - только чтение
b - чтение и запись
Как в таком случае передать функции через этот контроллер что-либо на вход?
"roman" wrote:
Всё так и задумано, опять читаем документацию!
Читаю, но так ничего и не нашел. Подскажите где искать?
|
Сообщение создано: 26. 12. 2014 [13:56]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"fido_max" wrote:
Как в таком случае передать функции через этот контроллер что-либо на вход?
Сделать выходом или режим "Чтение/Запись", очевидно, для чего в контексте объекта контроллера он не назван как "Выход", поскольку используется как признак режима для атрибутов параметров. Кроме того:
"Вход" у функции — можно только передать при вызове, "Чтение" из внутри функции.
"Выход", который не "Возврат" — можно как передать в функцию, так и взять с неё, т.е. "Чтение/Запись" из внутри функции.
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 26. 12. 2014 [14:10]
|
fido_max
Maxim Kochetkov
Contributor
Создатель темы
Зарегистрирован(а) с: 28.10.2010
Сообщения: 129
|
"roman" wrote:
Сделать выходом или режим "Чтение/Запись", очевидно, для чего в контексте объекта контроллера он не назван как "Выход", поскольку используется как признак режима для атрибутов параметров. Кроме того:
"Вход" у функции — можно только передать при вызове, "Чтение" из внутри функции.
"Выход", который не "Возврат" — можно как передать в функцию, так и взять с неё, т.е. "Чтение/Запись" из внутри функции.
Если параметр "a" сделать для записи, а "b" для чтения, то в библиотеке изменится сама функция: "a" станет выходом, "b" - входом. Выглядит это мягко говоря странно и абсоютно не логично. Хотя на работу это почему - то не влияет. Получается функция берет значение из выходного "a" (ничего криминального) и пишет во входное "b" (КАК?!?! оно же входное!!!)
|
Сообщение создано: 26. 12. 2014 [14:23]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"fido_max" wrote:
"roman" wrote:
Сделать выходом или режим "Чтение/Запись", очевидно, для чего в контексте объекта контроллера он не назван как "Выход", поскольку используется как признак режима для атрибутов параметров. Кроме того:
"Вход" у функции — можно только передать при вызове, "Чтение" из внутри функции.
"Выход", который не "Возврат" — можно как передать в функцию, так и взять с неё, т.е. "Чтение/Запись" из внутри функции.
Если параметр "a" сделать для записи, а "b" для чтения, то в библиотеке изменится сама функция: "a" станет выходом, "b" - входом. Выглядит это мягко говоря странно и абсоютно не логично. Хотя на работу это почему - то не влияет. Получается функция берет значение из выходного "a" (ничего криминального) и пишет во входное "b" (КАК?!?! оно же входное!!!)
Мне логично, если для Вас нет и не можете себя поставить внутрь функции — читайте мои ответы с начала и до прояснения!
В особенности про:
"Вход" у функции — можно только передать при вызове, "Чтение" из внутри функции.
"Выход", который не "Возврат" — можно как передать в функцию, так и взять с неё, т.е. "Чтение/Запись" из внутри функции.
Кроме того нечего, если не понимаете, выходить за рамки объекта контроллера, где прямо и написано "Чтение/Запись"!
Learn, learn and learn better than work, work and work.
|