Вопрос: мысль. параметры функции | Добавлено: 15.01.11 18:27 |
Автор вопроса: ![]() |
на 13й год существования языка я узнал, что параметры функции можно указывать в произвольном порядке:) Не знаю для чего это придумано, но забавно
Private Sub Form_Load()
Call func(two:=2, three:=3, one:=1) End Sub Private Sub func(ByVal one As Long, ByVal two As Long, ByVal three As Long) Debug.Print one, two, three End Sub |
Ответы | Всего ответов: 23 |
Номер ответа: 1 Автор ответа: ![]() ![]() ICQ: 345685652 Вопросов: 96 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 15.01.11 19:10 |
интересно)))... |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #2 | Добавлено: 15.01.11 21:13 |
Посмотри в Office DOM некоторые функции. Бывает и 20+ параметров, все из которых опциональные. А таким способом получится более-менее удобно задать только нужные. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 16.01.11 00:26 |
Да, в это есть смысл) Хотя когда параметров много часто задают их в структуре, ссылка на которую передается в функцию |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #4 | Добавлено: 16.01.11 23:27 |
так делают уже менее криворукие люди.. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 2 Ответов: 95 |
Профиль | Цитата | #5 | Добавлено: 03.02.11 08:37 |
Dim b() As Byte
Const s = "нужно книжки хоть иногда заглядывать, не говоря уже о руководстве" b = s Debug.Print "Чайник, "; b |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #6 | Добавлено: 03.02.11 09:40 |
ты к Byte() присваиваешь String, чайник? |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #7 | Добавлено: 03.02.11 14:40 |
А в чем проблема? |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #8 | Добавлено: 03.02.11 17:03 |
Полагаю, что в несоответствии типов переменных |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 2 Ответов: 95 |
Профиль | Цитата | #9 | Добавлено: 03.02.11 19:45 |
Прочти тему и проверь код
Вот и я говорю в руководство не смотрят, не говаря уже о полном руководстве. В книгах есть элементы которые не встретишь даже в инете, покрай ней мере на руском языке. В байтовому массиву и строкам можно применять одни и тебе функции Dim a() As Byte:a = CStr ![]() |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 2 Ответов: 95 |
Профиль | Цитата | #10 | Добавлено: 03.02.11 19:56 |
|
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 2 Ответов: 95 |
Профиль | Цитата | #11 | Добавлено: 03.02.11 20:03 |
Твой код можно записать и так
|
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #12 | Добавлено: 03.02.11 22:42 |
udn79 пишет:
В байтовому массиву и строкам можно применять одни и тебе функции О Ужас! Это ужасно! БЕсмысленная, беспощадная несуразица!!! |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #13 | Добавлено: 03.02.11 23:23 |
udn79 ага. этот код можно записать тысячей способов)
AgentFire ну а что. Там же неявное преобразование типов повсюду msdn "Совет 361. Избегайте неявного преобразования типов данных. <...> Подобная возможность является большим недостатком VB, а ее использование разработчиками говорит в первую очередь об их небольшом опыте…" С другой стороны строки и массивы байтов сильно завязаны. Например InStrB позволяет искать последовательности байтов |
Номер ответа: 14 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 2 Ответов: 95 |
Профиль | Цитата | #14 | Добавлено: 04.02.11 00:27 |
AgentFire
Опровергни что нельзя сделать со строкой, что можно с байтовым массивом либо наоборот? |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 2 Ответов: 95 |
Профиль | Цитата | #15 | Добавлено: 04.02.11 00:49 |
Избегать - не значит игнорировать эту возможность
Использование участков отладки не отражается на полноценном коде. Также как и венгерское сокращение записи. Dim a% ,b# ,c! ,d& ,e$ Не явное преобразование, дизеоринтирует пользователя, поэтому его требуется избегать, так написано в руководстве, я читал об этом. Только речь шла о возможностях. И если алгоритм будет работать в цикле бытсрей с Dim b() As Byte, чем со строкой, то не просто глупо, а даже тупо не использовать неявное преобразование. Можешь явно преобразовать. Я знаю, что такое некультурный тон в програмирование. Не явное преобразование дает понять, что вошто можно преобразовать хотябы. Да и без знания этого ты и не заметишь, что у тебя неявно преобразовалось и почему у тебя алгоритм, выдает не те результаты. |
|