‫Chà, chào mừng trở lại.
‫Trong video này, chúng tôi sẽ sửa lỗi mà chúng tôi đã mắc phải và chúng tôi sẽ xem cách chúng tôi có thể tìm ra nó.
‫Vì vậy, trong ví dụ này, đó là một ví dụ rất cơ bản.
‫Và chúng tôi thực sự biết rằng chúng tôi có phương pháp này phù hợp với logic.
‫Vì vậy, đây là một trong những xác định xem một người bạn có phải là một người bạn tiệc tùng hay không.
‫Và đó là thứ nói chung là thứ sẽ giúp bạn gỡ lỗi bởi vì nếu bạn biết một phương
‫pháp cụ thể sẽ làm gì, thì bạn có thể tạo một breakpoint tại thời điểm đó.
‫Được rồi.
‫Vì vậy, nếu bạn làm việc trong một chương trình mà bạn chưa bao giờ sử dụng trước đây hoặc đã thấy trước
‫đây, thì tất nhiên, trước hết bạn cần phải xem xét nó và hiểu tất cả các phương pháp này làm gì.
‫Và đó là lý do tại sao ở đây, tất nhiên, sẽ rất hữu ích nếu có một bản tóm tắt về những gì đang diễn ra ở đây.
‫Được rồi.
‫Vì vậy, giải thích.
‫Được chứ.
‫Danh sách làm gì?
‫Tóm tắt của phương pháp này là gì?
‫Vì vậy, bạn chỉ có thể sử dụng ba bước ở đây và sau đó bạn có thể thêm một bản tóm tắt nhỏ.
‫Vì vậy, đây là logic để tìm ra ai là một người bạn của bữa tiệc hoặc ai sẽ là một người bạn của bữa tiệc hoặc những thứ tương tự như vậy.
‫Ở đây không phải là tiếng Anh hoàn hảo, nhưng tôi nghĩ bạn hiểu ý tưởng là gì.
‫Vì vậy, một khi bạn làm điều đó, bạn sẽ biết, okay.
‫Được rồi, đây là chỗ của logic.
‫Và chương trình của chúng tôi tự hoạt động, phải không?
‫Vì vậy, nó hoạt động như dự định ít nhiều, tất nhiên, ngoại trừ việc nó cho chúng ta thấy, bạn bè, chúng ta có một cái tên
‫dài chứ không phải những người có tên ngắn.
‫Vì vậy, rất có thể vấn đề nằm ở logic cách chúng ta chọn thứ gì đó.
‫Vì vậy, ở đây chúng ta đã có thể thấy.
‫Được rồi, có lẽ vậy.
‫Đây là phương pháp mà chúng tôi gặp sự cố để chúng tôi có thể loại bỏ điểm ngắt này và cả điểm này nữa.
‫Và sau đó chúng ta có thể xem xét phương pháp của chúng tôi ở đây.
‫Vì vậy, chúng ta chỉ cần thêm một điểm ngắt và hoặc lấy phương thức kết bạn bên và sau đó chúng ta có thể xem xét nó.
‫Vì vậy, hãy bắt đầu với nó.
‫Và điều quan trọng là tất nhiên, các giá trị, phải không?
‫Vì vậy, chúng tôi muốn biết các giá trị.
‫Và trong trường hợp này, chúng ta quan tâm đến tên ngắn nhất và cũng có thể dài ở đây vì đó là logic,
‫phải không?
‫Vì vậy, những gì chúng tôi sẽ làm là sau đó chúng tôi chuyển sang bước tiếp theo.
‫Và chúng ta có thể thấy, không sao, danh sách bao gồm bảy giá trị, vậy là ổn.
‫Vì vậy, điều này dường như hoạt động.
‫Chúng tôi có tất cả bạn bè của chúng tôi trong đó.
‫Vì vậy, cho đến thời điểm đó mọi thứ dường như vẫn ổn.
‫Sau đó chúng ta sang bước tiếp theo.
‫Vì vậy, chúng tôi có con mắt của chúng tôi, đó là của chúng tôi.
‫Bộ đếm và nó ở số không.
‫Được rồi, đó là OC.
‫Và số chiết khấu là bảy, vì vậy chúng ta có thể chuyển sang bước tiếp theo.
‫Bây giờ chúng ta có một so sánh ở đây.
‫Nếu danh sách I chiều dài lớn hơn chiều dài ngắn nhất.
‫Và ở đó chúng ta có thể thấy cái tên ngắn gọn nhất là Frank.
‫Vì vậy, đó là một trong những chúng tôi bắt đầu với.
‫Đúng?
‫Vì vậy, danh sách bắt đầu với Frank.
‫Vì vậy, ở danh sách I, là số 0, chúng ta sẽ có Frank.
‫Vậy là ổn.
‫Bây giờ chúng ta hãy chuyển sang bước tiếp theo vì có vẻ như điều kiện này trong câu lệnh if không đúng.
‫Được rồi.
‫Vì vậy, sau đó chúng ta có thể chuyển sang bước lặp tiếp theo hoặc bước tiếp theo và nó sẽ so sánh một lần nữa.
‫Bây giờ chúng ta có thể thấy danh sách vẫn còn bảy người.
‫Và sau đó, chúng tôi có một độ dài chuỗi được trả về với ba và một chuỗi còn lại là năm.
‫Vậy điều gì đang xảy ra ở đây?
‫Chúng tôi đang xem xét Joe và Joe sẽ là người tiếp theo trong danh sách vì anh ấy có tên ngắn
‫hơn Frank.
‫Và đó là điều mà chúng tôi biết vì chúng tôi đã viết chương trình.
‫Nhưng vì một lý do nào đó, chắc chắn, cái tên này vẫn là Frank.
‫Vì vậy, tại thời điểm này chúng tôi có thể nhận ra chúng.
‫Được rồi.
‫Vì vậy, có thể là do chúng tôi có một lỗi ở đây.
‫Vì vậy, chúng tôi đang so sánh lớn hơn với mặc dù nó phải nhỏ hơn tất cả đúng hoặc nhỏ hơn.
‫Và bây giờ nếu chúng ta loại bỏ điểm ngắt và chúng ta chạy lại chương trình của mình, thì chúng ta sẽ thấy.
‫Được rồi, chúng ta lấy tên ngắn nhất, Joe và D, Frank và Maria.
‫Được rồi, thật tuyệt.
‫Vì vậy, bây giờ chương trình của chúng tôi đã trở lại miễn phí.
‫Chà, và tất nhiên, không phải vì chúng ta vẫn còn nhiều vấn đề ở đây.
‫Vì vậy, một trong số đó là chúng tôi có danh sách này với Frank, Joe, Michelle, v.v.
‫Được rồi.
‫Vì vậy, chúng tôi đã tạo danh sách theo cách thủ công để chúng tôi biết có gì trong đó.
‫Nhưng bây giờ hãy nói những gì chúng tôi cố gắng làm là chúng tôi cố gắng mời mười người, nhưng con gái chúng tôi chỉ đưa cho chúng
‫tôi danh sách bảy người.
‫Vì vậy, hãy chạy mã này.
‫Và.
‫Chúng tôi có một ngoại lệ.
‫Hoàn hảo.
‫Vì vậy, đó là điều tuyệt vời về các trường hợp ngoại lệ.
‫Bạn biết rằng mã của mình có vấn đề gì đó và bạn có thể sửa nó vì đôi khi, như
‫chúng ta vừa thấy, nếu bạn không nhìn thấy lỗi, chúng rất khó sửa.
‫Và đây là một đối số ngoài phạm vi, chỉ mục ngoại lệ nằm ngoài phạm vi phải không âm và nhỏ hơn
‫kích thước của tập hợp.
‫Vì vậy, bạn có thể xem chi tiết về điều này.
‫Bạn có thể xem thêm một chút về ngoại lệ này và nó sẽ cho bạn biết tất cả những gì bạn cần biết.
‫Đúng.
‫Vì vậy, rất nhiều thông tin.
‫Hầu hết thời gian là quá nhiều.
‫Nhưng điều này nói lên rằng chúng tôi đang cố gắng truy cập một phần tử trong danh sách nằm ngoài phạm vi của chúng tôi.
‫mọi chuyện sẽ ra sao?
‫Chà, đó có thể là danh sách mà chúng tôi đang cố gắng truy cập để chúng tôi có thể vào đây.
‫Và chúng ta có thể thấy rằng chúng ta có một ngoại lệ.
‫Chúng tôi có một danh sách, đếm số không.
‫Vì vậy những gì đang xảy ra?
‫Tại sao danh sách là số không?
‫Bởi vì chúng tôi đã thấy trước khi danh sách là bảy.
‫Đúng.
‫Vậy tại sao danh sách đột nhiên bằng 0?
‫Bởi vì chúng tôi không bao giờ thực sự.
‫Chúng tôi đã xem danh sách và xóa danh sách.
‫Đúng.
‫Tốt.
‫Những gì chúng tôi đã làm là chúng tôi đã loại bỏ một phần tử của danh sách.
‫Vì vậy, chúng tôi đã nói Danh sách rằng loại bỏ.
‫Và đó là một sai lầm của người mới bắt đầu, vì vậy có thể nói, vì như tôi đã nói với bạn trước đó, chúng ta đang lướt qua tham khảo.
‫Chúng tôi không chạy theo giá trị.
‫Sự khác biệt là sau đây khi chúng tôi nói.
‫Điều đó chúng tôi muốn có một danh sách ở đây.
‫Và một khi phương thức này được gọi, đó là trường hợp ở đây, vì vậy, bạn bè trong nhóm được gọi ở đây và chúng tôi chuyển một danh
‫sách được gọi là bạn bè.
‫Vì vậy, chúng tôi chuyển danh sách này ở đây, không có nghĩa là chúng tôi chuyển các giá trị mà chúng tôi không thực sự
‫chuyển tham chiếu đến các giá trị đó, có nghĩa là tất cả các giá trị đó, chúng ở đâu đó trong bộ nhớ của chúng tôi.
‫Vì vậy, chúng nằm trong bộ nhớ của máy tính của chúng ta.
‫Đúng.
‫Và chúng tôi đang tham khảo các giá trị đó.
‫Vì vậy, chúng tôi nói, được rồi, tôi muốn đi đến ký ức này, nơi bạn có tất cả bạn bè của bạn.
‫Vì vậy, tôi muốn đến gặp Frank, tôi muốn đến gặp Joe, v.v.
‫Vì vậy, một khi chúng tôi làm việc với danh sách này, chẳng hạn, chúng tôi loại bỏ một phần tử của danh sách đó.
‫Chúng tôi không tạo một bản sao với các giá trị, và sau đó chúng tôi tiếp tục và xóa các phần tử khỏi danh sách.
‫Nhưng chúng tôi đang thực sự xóa trong bộ nhớ này.
‫Vì vậy, chúng tôi xóa Frank khỏi danh sách, chúng tôi xóa Joe khỏi danh sách.
‫Vì vậy, bạn có thể khá dễ dàng nhận thấy rằng nếu bạn sử dụng điều này cho mỗi vòng lặp để kiểm tra bạn bè của bạn.
‫Được rồi, vì vậy tôi sẽ giảm nó một lần nữa để chúng ta thực sự có thể nhìn thấy điều gì đó.
‫Vì vậy, tôi sẽ đi qua điều này cho mỗi vòng lặp.
‫Và như bạn có thể thấy, chỉ có Angelina được hiển thị.
‫Tại sao chỉ có Angelina?
‫Bởi vì Angelina là người thứ bảy trong danh sách, và tôi vừa loại bỏ sáu người trong danh sách.
‫Hãy làm điều đó một lần nữa với bốn người.
‫Chỉ để bạn thấy rằng Maria, Carlos và Angelina vẫn ở đó.
‫Vì vậy, bạn thấy đấy, thực ra, đó là Michelle.
‫Được rồi.
‫Vì vậy, thậm chí còn tốt hơn bây giờ chúng ta có một tình huống rất kỳ lạ khi Michelle, Carlos và Angelina vẫn
‫còn trong danh sách.
‫Vì vậy, chúng tôi liên tục xóa ai đó khỏi danh sách và điều đó tạo ra một loạt
‫vấn đề bởi vì nếu ai đó khác hoặc nếu chúng tôi sử dụng danh sách bạn bè này ở một nơi khác, thì danh sách đó sẽ trống và nó sẽ bị hỏng.
‫Nó sẽ không có các giá trị ban đầu ở đó, và đó là điều mà chúng ta không nên làm.
‫Vì vậy, những gì chúng ta có thể làm là chúng ta có thể tạo một bộ đệm ở đây.
‫Vì vậy, tôi sẽ tạo một biến mới được gọi là bộ đệm và đó sẽ là một danh sách các chuỗi mới.
‫Và nó sẽ là danh sách của tôi, vì vậy tôi sẽ chuyển danh sách của mình đã được chuyển cho tôi vào thời điểm này.
‫Được rồi.
‫Và tôi sẽ lưu trữ nó trong bộ đệm.
‫Vì vậy, nó sẽ là một danh sách mới.
‫Và bây giờ những gì chúng ta có thể thấy là chúng ta, tất nhiên, bây giờ phải xóa khỏi bộ đệm.
‫Vì vậy, chúng tôi sẽ xóa khỏi bản sao này của danh sách.
‫Chúng tôi sẽ không xóa khỏi danh sách.
‫Được rồi.
‫Đó là sự khác biệt quan trọng mà chúng ta phải tạo ra.
‫Chúng tôi đang xóa khỏi bản sao ngay bây giờ.
‫Bây giờ, tất nhiên, chúng tôi cũng phải sử dụng bộ đệm ở đây để có được mặt trước của bữa tiệc.
‫Được rồi.
‫Bởi vì nếu không chúng tôi sẽ không bao giờ phát hành bất cứ điều gì khỏi danh sách.
‫Đó sẽ luôn là bảy người.
‫Vì vậy, ngay cả trong danh sách đệm này, nó sẽ luôn có bảy người và sau đó nó sẽ không hoạt động chính xác.
‫Được rồi.
‫Vì vậy, chúng tôi là Frank, Joe, Michel, mọi thứ vẫn còn trong danh sách.
‫Được chứ.
‫Vì vậy, cho mỗi vòng lặp hoạt động tốt.
‫Và để so sánh, những gì chúng ta có thể làm là tạo một vòng lặp for khác và kiểm tra nó với những người bạn cùng nhóm chỉ để
‫xem liệu bây giờ chúng ta chỉ có bảy người bạn cùng nhóm hay ba người bạn.
‫Vì vậy, bạn có thể thấy đó thực sự là những người bạn của bên thứ tư.
‫Vì vậy, tất cả họ đều ở trong đó và Joe, Frank và Maria cũng vẫn ở trong đó.
‫Vì vậy, chúng tôi không xóa danh sách bạn bè, chúng tôi đã xóa các phần tử khỏi danh sách đệm.
‫Và bây giờ, tất nhiên, chúng ta không cần điều này nữa.
‫Vì vậy, điều này chỉ dành cho mục đích thử nghiệm và gỡ lỗi.
‫Nhưng bây giờ chúng tôi có một chương trình hoạt động tốt.
‫Bây giờ bạn có thể nói, được rồi, chúng tôi không có bất kỳ lỗi nào nữa.
‫Chà, nhưng chúng tôi vẫn chưa sửa một lỗi mà chúng tôi đã mắc phải trước đây, nếu chúng tôi nhập mười ở đây.
‫Chúng tôi sẽ.
‫Có một lỗi hoặc một lỗi?
‫Trên thực tế, một đối số nằm ngoài phạm vi ngoại lệ.
‫Vậy chúng ta có thể làm gì ở đây?
‫Bởi vì chúng tôi đang cố gắng truy cập một phần tử không tồn tại.
‫Vì vậy, chúng tôi đang cố gắng truy cập một phần tử danh sách mặc dù danh sách của chúng tôi trống.
‫Vì vậy, số lượng danh sách là số không.
‫Và đó là điều mà chúng tôi sẽ khắc phục trong video tiếp theo vì một lần nữa, video này dài hơn
‫10 phút nên không muốn tạo video dài quá.
‫Vì vậy, tôi sẽ chỉ cho bạn cách khắc phục sự cố này trong video tiếp theo vì chúng tôi có rất nhiều vấn đề phát sinh
‫từ việc này.
‫Được rồi.
‫Vì vậy, chúng ta hãy khắc phục chúng trong video tiếp theo.
‫Hẹn gặp bạn ở đó.