Я пытаюсь понять функции - PullRequest
1 голос
/ 05 мая 2010

Хорошо, я вхожу в камень преткновения, независимо от того, какой язык я использую. Я пытаюсь понять, когда мне нужно передать аргументы в функции и когда мне не нужно передавать аргументы в функции. Может кто-нибудь дать мне какое-то указание о том, где найти руководство по этому вопросу?

Ответы [ 5 ]

2 голосов
/ 05 мая 2010

Я бы скорее сказал, что если вашей функции нужны данные, вы ДОЛЖНЫ передать параметры, потому что другой вариант - поместить данные в глобальное хранилище и позволить функции получить к ним доступ оттуда. НЕ ДЕЛАЙТЕ ЭТОГО, поскольку это сделает ваш код практически невозможным для обслуживания, так как он становится все более сложным.

1 голос
/ 05 мая 2010

Нужны ли функции внешние данные для выполнения своей работы? Если это так, то вам нужно передать аргументы.

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

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

0 голосов
/ 05 мая 2010

Вы говорите о существующей функции или пишете свою собственную?

Если это уже существующий - у вас нет выбора - для того, чтобы он заработал, вам нужно передать его как угодно. Чтобы выяснить, чего он хочет - прочитайте руководство, код функции или напугайте автора функции

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

0 голосов
/ 05 мая 2010

Ну, это в значительной степени зависит от того, чего вы пытаетесь достичь. Если вашим функциям нужны какие-то значения для изменения или использования, вам, вероятно, потребуется передать аргументы. Почему бы вам не попробовать это с некоторыми примерами в некоторых книгах. Большинство из них довольно актуальны.

Вы не должны думать о том, что вам «нужно» передать функции, вы должны попытаться понять, для чего вы пишете эту функцию, и тогда вы увидите, нужны ли вам аргументы или нет.

0 голосов
/ 05 мая 2010

Ну ... если функция принимает параметры, то вам нужно передать ей аргументы. Если не требуется никаких параметров, то нет. (Если вы работаете на языке, в котором функции имеют необязательные параметры, вам нужно только передать аргумент, если вы хотите что-то, кроме значения по умолчанию.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...