Trích dẫn RIP Hash rocket post dường như ngụ ý cú pháp Hash Rocket (:foo => "bar"
) không còn được dùng để hỗ trợ mã băm JSON mới-Ruby (foo: "bar"
), nhưng tôi không thể tìm thấy bất kỳ tham chiếu dứt khoát nào nói về Hash Rocket biểu mẫu thực sự bị phản đối/không được đề cập như của Ruby 1.9.Hash Rocket có bị phản đối không?
Trả lời
Tác giả của bài đăng trên blog đó quá kịch tính và ngu xuẩn, =>
là stillquitenecessary. Cụ thể:
- Bạn phải sử dụng tên lửa cho các ký hiệu yêu cầu trích dẫn:
:'where.is' => x
hợp lệ nhưng thì không. Ruby 2.2 đã khắc phục sự cố này để bạn có thể nói trong Ruby 2.2+. - Bạn phải sử dụng tên lửa cho các ký hiệu không phải là nhãn hợp lệ:
:$set => x
hợp lệ nhưng$set: x
thì không. Trong Ruby 2.2+ bạn có thể giải quyết vấn đề này với các dấu ngoặc kép:'$set': x
sẽ làm điều đúng. - Bạn phải sử dụng tên lửa nếu bạn sử dụng các phím trong Hashes không phải là ký hiệu:
's' => x
là hợp lệ nhưng's': x
là một thứ hoàn toàn khác.
Bạn có thể kludge quanh ở trên theo cách thức rõ ràng tất nhiên:
h = { }
h[:'where.is'] = 'pancakes house?'
# etc.
nhưng đó chỉ là xấu xí và không cần thiết.
Tên lửa sẽ không xuất hiện ở đâu mà không làm tê liệt Hashes của Ruby.
s/quá kịch tính và ngu ngốc/kịch tính và ủng hộ với sự kính trọng hùng hồn /. Phần còn lại của các điểm của bạn đứng. – dbenhur
Tôi đồng ý, đó chắc chắn là một trong những bài đăng hùng hồn nhất về cập nhật ngôn ngữ. Mặc dù một chút sai lầm: D. – mahemoff
Bạn phải tự hỏi nếu sử dụng cú pháp mới, khi bạn vẫn cần phải dựa vào cú pháp cũ cho các tình huống nhất định, sẽ đơn giản làm phức tạp mã của chúng tôi. –
- 1. java.util.Timer: Nó có bị phản đối không?
- 2. Split() bị phản đối
- 3. LINQ to SQL có bị phản đối không?
- 4. Thuộc tính Java có bị phản đối hiệu quả không?
- 5. Việc khôi phục có thể bị phản đối không?
- 6. isOrientationSupported bị phản đối trong IOS
- 7. Nhà cung cấp dịch vụ yada-yada có bị phản đối không?
- 8. Settings.Secure.HTTP_PROXY bị phản đối trong ICS nhưng không có thông tin về thay thế
- 9. UILineBreakModeWordWrap bị phản
- 10. Tại sao tính năng Addable của Scala bị phản đối?
- 11. Đàn áp " '...' bị phản đối" khi sử dụng respondsToSelector
- 12. rất nhiều chức năng đang bị phản đối - iOs 6
- 13. Tại sao mẫu người quan sát bị phản đối?
- 14. requiredContentSizeIdentifiers bị phản
- 15. Rails3: Cơ sở # after_update đã bị phản đối
- 16. Sets mô-đun bị phản đối cảnh báo
- 17. Có sự khác biệt giữa "git reset --hard hash" và "git checkout hash" không?
- 18. Có thể truy cập đối số từ khóa dưới dạng Hash trong Ruby không?
- 19. Không thể chuyển đổi Hash thành chuỗi?
- 20. Hash table vs Hash list vs Hash tree?
- 21. Các khung bị phản đối trong HTML5 nhưng không được sử dụng trong iFrames
- 22. không bị phản đối tương đương với <form target = "...">
- 23. CoverFlow kéo dài Gallery (bị phản đối là không làm việc một cách chính xác trong> 4,0 thiết bị)
- 24. presentModalViewController: hoạt hình bị phản
- 25. parse json phản đối ruby
- 26. GPU- "Proof" Hash Function (s)?
- 27. Tạo Hash cho các đối tượng tùy ý?
- 28. Đối tượng từ hiểu trong CoffeeScript [dict/hash comprehensions]
- 29. Tại sao std :: hash không phải là một hàm bị quá tải?
- 30. Không thể sử dụng Trình tải Rocket của Cloudflare ở chế độ thủ công với wp_enqueue_script
Tôi nghĩ rằng anh chàng đó chỉ sử dụng Ruby với Rails. –