Đối với một hàm trả về một giá trị trong Pascal, phép gán FunctionName := SomeVal;
được sử dụng. Tôi giả sử nó không dừng thực hiện chức năng ở vị trí chính xác như return
trong C. Có cái gì đó tương tự như C return
trong Pascal? (Tôi đang sử dụng trình biên dịch FreePascal)Trả về một giá trị trong Pascal
Trả lời
Bạn có thể sử dụng thủ tục Thoát.
function Foo (Value : integer) : Integer;
begin
Exit(Value*2);
DoSomethingElse(); // This will never execute
end;
+1, không bao giờ nghe nói về cú pháp này! Tuy nhiên có thể tốt khi đặt một dòng sau 'Exit' với một số nhận xét rằng dòng sau' Exit' sẽ không được thực hiện. – TLama
Tôi hiểu rồi. :) 1, Rodrigo. –
+1 đây là một cú pháp đẹp, giúp tránh kết hợp Kết quả + Thoát đáng sợ. Về cơ bản tương đương với "trả lại". – Thomas
Chỉ cần thông tin: Cú pháp 'FunctionName: = SomeVal; 'là lỗi thời; cú pháp hiện tại là 'Kết quả: = SomeVal;', trong đó 'Kết quả' là một biến tự động có sẵn của kiểu dữ liệu thích hợp để khớp với khai báo hàm. Ví dụ: 'function Test: Integer; bắt đầu Kết quả: = 10; kết thúc; '. –
Ken White: Trong Pascal miễn phí, kết quả là afaik chỉ được hỗ trợ trong phương ngữ Delphi và delphi. (-S2/-Sd). Các pascal khác chưa chấp nhận kết quả trung tâm Delphi, hoặc chỉ cho các chế độ tương thích. Tiêu chuẩn Pascal cuối cùng vẫn còn tài liệu này –