Result в Паскале
Слово Result в Паскале в используется для возврата результата из функции.
Как известно, любая функция возвращает какой-то результат. Обычно в Паскале это делается так:
То есть где-то в теле функции (обычно в конце, после выполнения всего кода функции) мы пишем имя функции, используя его как идентификатор переменной, и присваиваем ей какое-то значение.
Таким образом в нашем примере функция MyFunc вернёт результат — квадрат числа Х. Если в программе мы вызовем нашу функцию, например, так:
то на экран будет выведено число 100.
Впрочем, всё это вы уже должны знать.
А вот эту фишку многие новички не знают:
Обратите внимание, что здесь вместо имени функции мы пишем слово Result.
И функция будет работать точно также. То есть возвращать результат, как это и положено функции.
Прекрасно. Но остаётся вопрос — зачем это надо?
Вот это то и есть основная тема данной статьи. Здесь я покажу вам две причины, почему и когда лучше использовать именно слово Result, а не имя функции для возврата результата.
Причина первая
Довольно часто в практике программирования приходится создавать похожие функции. При этом обычно полностью копируется исходная функция. А затем немного дорабатывается и переименовывается.
Если вы используете такой формат:
function MyFunc(x : integer) : integer; begin MyFunc := x * x; end;
То вам придётся переименовывать функцию не менее чем в двух местах. Если же вы используете слово Result, то вам надо будет переименовать функцию только в одном месте — в заголовке.
Да. Но, как говорится, дьявол кроется в мелочах. И профессионал отличается от любителя именно отношением к мелочам.
Кроме того, при копировании функции, как правило, мы переименовываем её в заголовке, но часто забываем сделать это там, где функция возвращает результат.
Компилятор, конечно, в этом случае выдаёт ошибку. Но перед этим вы тратите время на компиляцию. И время течёт буквально сквозь пальцы.
Например, в то время, как я пишу эту статью, я занимаюсь разработкой довольно сложной программы, на что у меня уже ушло 250 часов. И ещё уйдёт примерно столько же.
А теперь представьте, что с помощью разных фишек вам удастся сэкономить хотя бы одну минуту из часа и помножьте это на общее количество часов. Цифра будет немаленькой. А ведь это ваше время!
Причина вторая
Вторая причина перекликается с первой. Связана она тоже с возможной необходимостью переименования функции (это может потребоваться по разным причинам).
Представьте, что у вас есть такая функция:
И представьте, что вы решили её переименовать.
В этом случае вам придётся переименовать все идентификаторы в селекторах конструкции case.
В нашем примере их три. Но ведь может быть и 100 и более.
А если бы вы использовали слово Result, то вам опять же надо было бы переименовать только заголовок.
Конечно, в редакторе исходного кода есть такие вещи как поиск и замена, но ведь и их использование тоже отнимает время.
В общем, надеюсь, я убедил вас в полезности использования слова Result в Паскале. Применяйте эту замечательную возможность и, поверьте, это избавит вас от множества неприятностей и позволит сэкономить время на разработку программ.
result
result — I noun aftermath, conclusion, consequence, consequentia, decision, denouement, determination, development, effect, end, eventuality, exitus, finding, fructus, fruit, fruition, harvest, judgment, outcome, outgrowth, output, product, resolution,… … Law dictionary
Result — Re*sult , n. 1. A flying back; resilience. [Obs.] [1913 Webster] Sound is produced between the string and the air by the return or the result of the string. Bacon. [1913 Webster] 2. That which results; the conclusion or end to which any course or … The Collaborative International Dictionary of English
result — ► NOUN 1) a consequence, effect, or outcome. 2) an item of information or a quantity or formula obtained by experiment or calculation. 3) a final score, mark, or placing in a sporting event or examination. 4) a satisfactory or favourable outcome … English terms dictionary
result — UK US /rɪˈzʌlt/ noun [C] ● results Cf. results ● as a result of sth Cf. as a result of sth … Financial and business terms
result — • They tried hard to get a result but rain stopped play and the game ended in a draw television news broadcast, 1993. The use of the noun to mean not just an outcome but a favourable outcome, familiar now in the language of sports commentators,… … Modern English usage
result — [n] effect brought about by something aftereffect, aftermath, arrangement, backwash*, by product, close, completion, conclusion, consequence, consummation, corollary, creature, crop, decision, denouement, determination, development, emanation,… … New thesaurus
result in — index produce (manufacture) Burton s Legal Thesaurus. William C. Burton. 2006 … Law dictionary
result — consequence, *effect, upshot, aftereffect, aftermath, sequel, issue, outcome, event Analogous words: concluding or conclusion, ending or end, closing or close, termination (see corresponding verbs at CLOSE): *product, production Contrasted words … New Dictionary of Synonyms
result — [ri zult′] vi. [ME resulten < ML resultare < L, to spring back, rebound, freq. of resilire, to leap back: see RESILE] 1. to happen or issue as a consequence or effect: often with from [floods resulting from heavy rains] 2. to end as a… … English World dictionary
Ew result что это
Например, представленная выше функция вычисления суммы квадратов натурального ряда может быть преобразована следующим образом:


- • параметры, вызываемые подпрограммой по своему значению (т. е. параметры, которые передают в подпрограмму свое значение и не меняются в результате выполнения подпрограммы);
- • параметры, вызываемые подпрограммой по наименованию (т. е. параметры, которые становятся доступными для изменения внутри подпрограммы).

Рассмотрим пример объявления функции с параметром-значением: 



S_Sentence: 

Эту функцию можно использовать для сравнения любых двух переменных, размер которых не превышает 1000 байт. Например, в программе присутствуют следующие объявления: 
VarEqual(Vectorl, Vector2, SizeOf(Vector))
VarEqual(Vectorl, Vector2, SizeOf(Integer)*10) —
Equal(Pointl, Point2, SizeOf(TPoint)) —
Equal(Vectorl[1], Point2.Y, SizeOf(Integer)) —

В рассмотренном ранее примере объявления функции с параметром-значением более эффективным будет использование параметра-константы, который обеспечит передачу в процедуру адреса размещения строки: 
Ew result что это
Ew result что это
bool res=true;
for(int i=0;i<Size;i++) res&&=test_object(objs[i]);
| От: | sercher |
| Дата: | 10.06.03 12:24 |
| Оценка: |
| От: | Lorenzo_LAMAS |
| Дата: | 10.06.03 12:31 |
| Оценка: |
| От: | Евгений Коробко |
| Дата: | 10.06.03 12:35 |
| Оценка: |
| От: | sercher | |
| Дата: | 10.06.03 12:53 | |
| Оценка: | +1 -3 | |
| От: | Ed.ward | |
| Дата: | 10.06.03 12:57 | |
| Оценка: | +1 | |
| От: | sercher |
| Дата: | 10.06.03 13:06 |
| Оценка: |
| От: | Аноним |
| Дата: | 10.06.03 13:14 |
| Оценка: |
| От: | Ed.ward |
| Дата: | 10.06.03 13:17 |
| Оценка: |
| От: | sercher |
| Дата: | 10.06.03 13:29 |
| Оценка: |
| От: | Евгений Коробко |
| Дата: | 10.06.03 13:34 |
| Оценка: |
S>[ccode]
S>int result = false;
S>result &= First();
S>result |= Second();
S>result &= Third();
2 & 4 == false (0)
2 && 4 == true
| От: | sercher |
| Дата: | 10.06.03 13:49 |
| Оценка: |
| От: | Stepkh |
| Дата: | 10.06.03 13:51 |
| Оценка: |
| От: | Евгений Коробко |
| Дата: | 10.06.03 14:26 |
| Оценка: |
| От: | SergeyS | |
| Дата: | 10.06.03 15:51 | |
| Оценка: | 6 (2) | |
| От: | Андрей Тарасевич | |
| Дата: | 10.06.03 20:40 | |
| Оценка: | 7 (2) | |
| От: | sercher | |
| Дата: | 11.06.03 05:13 | |
| Оценка: | -2 | |
| От: | Stepkh |
| Дата: | 11.06.03 05:27 |
| Оценка: |
result
result — I noun aftermath, conclusion, consequence, consequentia, decision, denouement, determination, development, effect, end, eventuality, exitus, finding, fructus, fruit, fruition, harvest, judgment, outcome, outgrowth, output, product, resolution,… … Law dictionary
Result — Re*sult , n. 1. A flying back; resilience. [Obs.] [1913 Webster] Sound is produced between the string and the air by the return or the result of the string. Bacon. [1913 Webster] 2. That which results; the conclusion or end to which any course or … The Collaborative International Dictionary of English
result — ► NOUN 1) a consequence, effect, or outcome. 2) an item of information or a quantity or formula obtained by experiment or calculation. 3) a final score, mark, or placing in a sporting event or examination. 4) a satisfactory or favourable outcome … English terms dictionary
result — UK US /rɪˈzʌlt/ noun [C] ● results Cf. results ● as a result of sth Cf. as a result of sth … Financial and business terms
result — • They tried hard to get a result but rain stopped play and the game ended in a draw television news broadcast, 1993. The use of the noun to mean not just an outcome but a favourable outcome, familiar now in the language of sports commentators,… … Modern English usage
result — [n] effect brought about by something aftereffect, aftermath, arrangement, backwash*, by product, close, completion, conclusion, consequence, consummation, corollary, creature, crop, decision, denouement, determination, development, emanation,… … New thesaurus
result in — index produce (manufacture) Burton s Legal Thesaurus. William C. Burton. 2006 … Law dictionary
result — consequence, *effect, upshot, aftereffect, aftermath, sequel, issue, outcome, event Analogous words: concluding or conclusion, ending or end, closing or close, termination (see corresponding verbs at CLOSE): *product, production Contrasted words … New Dictionary of Synonyms
result — [ri zult′] vi. [ME resulten < ML resultare < L, to spring back, rebound, freq. of resilire, to leap back: see RESILE] 1. to happen or issue as a consequence or effect: often with from [floods resulting from heavy rains] 2. to end as a… … English World dictionary
Ew result что это
Переменная Result в функции
Например, представленная выше функция вычисления суммы квадратов натурального ряда может быть преобразована следующим образом: 


- • параметры, вызываемые подпрограммой по своему значению (т. е. параметры, которые передают в подпрограмму свое значение и не меняются в результате выполнения подпрограммы);
- • параметры, вызываемые подпрограммой по наименованию (т. е. параметры, которые становятся доступными для изменения внутри подпрограммы).

Рассмотрим пример объявления функции с параметром-значением: 



S_Sentence: 

Эту функцию можно использовать для сравнения любых двух переменных, размер которых не превышает 1000 байт. Например, в программе присутствуют следующие объявления: 
VarEqual(Vectorl, Vector2, SizeOf(Vector))
VarEqual(Vectorl, Vector2, SizeOf(Integer)*10) —
Equal(Pointl, Point2, SizeOf(TPoint)) —
Equal(Vectorl[1], Point2.Y, SizeOf(Integer)) —

В рассмотренном ранее примере объявления функции с параметром-значением более эффективным будет использование параметра-константы, который обеспечит передачу в процедуру адреса размещения строки: 