Viblo Learning
+1

Mẹo và thủ thuật trong Ruby

Multiple Assignments

Bạn có thể gán nhiều giá trị cho 1 biến trên 1 dòng

ví dụ 1

var_1, var_2 = ["carrots", "peppers"]
#=> ["carrots", "peppers"]
var_1
#=> "carrots"
var_2
#=> "peppers"

Trong ví dụ 1, tôi đã thiết lập hai biến, var_1var_2 tương ứng với carrotspeppers. Hai chuỗi phải nằm trong một mảng.

Chúng ta có thể đặt nhiều giá trong một mảng bằng cách cú pháp tương tự.

ví dụ 2

fast_food = ["a", "b", "c", "d"]
fast_food[0..1] = ["McDonalds", "Wendys"]
#=> ["a", "b", "c", "d"]
#=> ["McDonalds", "Wendys"]
fast_food[0]
#=> "McDonalds"
fast_food[1]
#=> "Wendys"

Hoán đổi nhiều biến

Giống như cách chúng ta có thể gán nhiều giá trị cùng một lúc, chúng ta có thể trao đổi nhiều biến trong một dòng

a, b, c = [1, 2, 3]
a, b, c = b, c, a
#=> [1, 2, 3]
#=> [2, 3, 1]

Union

Một toán tử union(|) trả về tất cả các phần tử của cả hai mảng. Có nghĩa là union sẽ trả về một mảng mới bằng cách nối 2 mảng với nhau, và các giá trị trong mảng mới trả về là duy nhất

[1, 2, 3] | [4, 5, 6]
=> [1, 2, 3, 4, 5, 6]
[1, 2] | [2]
=> [1, 2]

Intersection

Toán tử intersection trả về các phần tử chung của cả 2 mảng.

[1, 2, 3] & [3, 4]
#=> [3]
[1, 2] & [3, 4]
#=> []

Difference

Toán tử difference (-) trả về các phần từ từ mảng đầu tiên không tồn tại trong mảng thứ 2

[1, 2, 3] - [2, 3]
#=> [1]
[1] - [1]
#=> []

Forty_two()

Trong rails có các phương thức để hỗ trợ truy cập các phần tử thứ 1 -> 10 của mảng. Array#first, Array#second,…, Array#tenth

Nhưng bạn có biết bạn có thể lấy phần tử thứ 42 cụ thể trong một mảng không?

arr[41]
arr.forty_two

Theo tài liệu của Rails, Array#forty_two is Also known as accessing "the reddit".

Kết

Trên đây là một số thủ thuật nho nhỏ giúp công việc của các bạn dễ dàng hơn. Cảm ơn các bạn đã theo dõi


All Rights Reserved