Khớp mẫu trong Ruby 2.7 là gì?

Tram Ho

1. Khớp mẫu là gì?

Đối sánh mẫu là một cách xác định một mẫu cho dữ liệu của chúng tôi và nếu dữ liệu khớp với mẫu đó, chúng ta có thể làm gì đó với dữ liệu theo mẫu này. Và chúng ta có thể nói, với việc đối sánh mẫu, chúng ta có được các phần dữ liệu cụ thể được chọn theo các quy tắc cụ thể. Trong phần trình bày này, chúng ta cũng có thể tìm thấy một câu, đối với mẫu Ruby so khớp là một trường hợp / khi với một phép gán nhiều.

Trong Pattern Matching ruby được thể hiện qua các case tuyên bố, tuy nhiên nó không được kèm theo when mà kết hợp với in khi bạn có thể dưới đây:

Việc xử lý các mẫu, chúng được chạy theo thứ tự với case bình thường cho đến khi chúng tôi tìm thấy kết quả phù hợp đầu tiên. Khi không có trường hợp nào sẽ không có mẫu nào được tìm thấy, các mẫu else sẽ được thực thi. chúng tôi sẽ nhận được NoMatchingPatternError khi không tìm thấy trường hợp nào.

2. Mẫu cơ bản

2.1 Mẫu giá trị

Bây giờ trong statmant case chúng tôi số 10 và ở in Statment chúng ta đặt số nhiều như 1..100 như sau:

Như bạn có thể thấy những gì đã đặt ra phải là: it is match! . Điều gì đã xảy ra khi chúng ta đặt số 101 trong case như dưới đây? :

Khi kết hợp không thành công, nó sẽ xuất ra NoMatchingPatternError theo sau là đối tượng được kiểm tra bên trong dấu ngoặc đơn.

2.2 Mẫu biến

Đối với mẫu biến, bạn có thể sử dụng nó để hiển thị giá trị mà bạn so sánh trong trạng thái.

2.3 MẪU ĐẾN

Không chỉ giá trị hoặc biến mà chúng ta cũng có thể sử dụng mẫu với mảng. Bây giờ chúng ta hãy xem đoạn mã dưới đây:

Ngoài ra với các mẫu mảng, chúng ta có thể giải mã mảng

2.4 NHƯ MẪU

As Pattern sẽ gán giá trị cho biến ngay sau mẫu với dấu => nếu nó khớp với mẫu đó. Chúng tôi cũng có thể liên kết biến với một giá trị bằng cách sử dụng làm mẫu. Nó có thể hữu ích khi chúng ta cần các bài tập phức tạp hơn .. Mẫu này khá hữu ích cho các nhà phát triển để kiểm tra điều kiện khớp. Bây giờ bạn có thể kiểm tra ví dụ dưới đây:

2.5 Mẫu băm

Hash pattern tương tự như mảng. Nó không chỉ được sử dụng cho đối tượng băm mà chúng ta có thể sử dụng nó với quy tắc cụ thể với nó.

Các mẫu băm linh hoạt hơn so với đối sánh mảng, theo mặc định, chúng luôn kiểm tra các tập hợp con.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo