07/11/2018, 23:31

Ruby & Rails Tricks – Có Thể Bạn Chưa Biết ?

Xin chào mọi người !! Có thể các tricks này có người biết rồi hoặc sắp được biết nhưng mình cũng mạn phép được chia sẻ lại. Văn mình có thể không hay nhưng Ruby thì luôn đẹp Ruby 1. Có nhiều cách để call một lamda my_lambda = -&gt; { puts <span ...

Xin chào mọi người !!

Có thể các tricks này có người biết rồi hoặc sắp được biết nhưng mình cũng mạn phép được chia sẻ lại. Văn mình có thể không hay nhưng Ruby thì luôn đẹp :smile:

Ruby

1. Có nhiều cách để call một lamda

2. Tạo một hash từ một list value

3 Tạo một pre-filled array

Kết quả ta sẽ có được một array với 10 số ngẫu nhiên.

4. Các object đặc biệt

Như các bạn đã biết trong ruby mọi thứ đề là object nên sẽ có object_id . Tuy nhiên một số đối tượng cá biệt có id cố định :

Các id của Fixnum sẽ tính theo công thức : (number * 2) + 1.

Maximum Fixnum là 1073741823, sau đó bạn sẽ có một Bignum object.

5. Convert bất kì giá trị nào sang kiểu boolean

6. Kiểm tra tên của các method đang dùng

Kết quả sẽ là:

Nếu bạn muốn biết tên của method hiện tại thì dùng __method__ hoặc __callee__

Rails

7. Xoá các space không cần thiết

8. Dùng pluck thay vì map

pluck là method để lấy 1 column cho trước trong các record, mà không load toàn bộ các record đó. Vì thế mà tốc độ xử lý và RAM cũng hiệu quả hơn.

thành

9. timezone trong Rails

Trong Rails, có 2 cách để setting timezone, cách 1 là setting trong application.rb, cách 2 là sử dụng timezone dựa theo biến số môi trường TZ. Nếu trong trường hợp setting giữa 2 cách này mâu thuẫn với nhau, sẽ nảy sinh ra những lỗi không thể dự đoán trước. Vì thế, tốt hơn là thống nhất chỉ sử dụng timezone trong application.rb.

Ví dụ, không dùng Date.today mà dùng Date.current, không dùng Time.now mà dùng Time.current( hoặc Time.zone.now)

10. Các method thay đổi string thành số nhiều, số ít, …

11. Sử dụng Object.try(:method_name) thay vì kiểm tra nil