01/10/2018, 17:25
2 kết quả khác nhau khi chạy debug
This post was flagged by the community and is temporarily hidden.
Bài liên quan
This post was flagged by the community and is temporarily hidden.
Sai là sai thế nào?
Kết quả mong muốn là gì?
Kết quả thực tế là gì?
Hình đâu?
dạ chào ạ, ví dụ là nhập tử là -5, mẫu là 3. Kiểm tra điều kiện nếu số nao âm thì chuyển thành 1. F5 chạy thì ra -5/3 còn F11 chạy vào từng hàm thì lại ra 1/3, ko hiểu sao luôn.
F5
Có GET và SET, bạn chỉ viết lệnh kiểm tra cho GET, thì khi bạn gán On = …, tức là dùng SET, thì nó không có lệnh kiểm tra là đúng rồi.
Còn lúc bạn gọi hàm Print, bạn không gọi ‘On’ mà gọi ‘on’, nó lấy giá trị trực tiếp từ biến.
Nhưng mà theo mình thấy thì F5 và F11 giống nhau mà ra 2 kết quả khác nhau là sao nhỉ, bạn có teamview ko, vào máy mình xem đi.
Chụp hình 1/3 lúc F11 lên xem nào
đây ạ
Lâu không nhớ. Nhưng có phải F5 là “Run” còn F11 là “Debug” không?
Lý do là thế!
Khi bạn Chạy (Run) thì (get) không được gọi (trong mã không hề gọi this.On hay this.Below) mà chỉ gán (set). Nên giá trị giữ nguyên -5/3.
Khi Gỡ lỗi (Debug) công cụ gỡ lỗi có gọi đến (get) nên phần kiểm tra số âm sẽ định lại giá trị thành 1/3.
Nếu bạn muốn kiểm tra hay chuẩn hóa giá trị thì nên thực hiện trong hàm gán (setter).
Thanh niên này suy nghĩ kỳ cục vãi, chuẩn hoá trong getter :))
hjhj, trứng cũng có trứng lộn, cá cũng có cá bóng, nhiều lúc mình cũng lộn mà. Chính nhờ có lộn đó mà mình mới hiểu vấn đề, cảm ơn nhé, hjhj.