Sách giáo khoa Language Proof and Logic cung cấp các biểu thức tiếng Anh này cho các định lượng phổ quát và tồn tại mà giáo sư Odersky gọi.
Trình định lượng phổ biến & thiếu hiệu quả;
được sử dụng để thể hiện tuyên bố phổ quát, những người chúng ta thể hiện bằng tiếng Anh sử dụng cụm từ quantifed như tất cả mọi thứ , mỗi điều, tất cả mọi thứ, và bất cứ điều gì .
Các quantifier hiện sinh ∃
được sử dụng để thể hiện tuyên bố hiện sinh, những người chúng ta thể hiện bằng tiếng Anh sử dụng các cụm từ như một cái gì đó, ít nhất một điều, một, và một.
Việc đề cập đến các điều khoản này có thể liên quan hoặc dẫn đến hoạt động trên các bộ sưu tập sử dụng các hàm bậc cao hơn. Trong Scala, quá trình chuyển đổi từ logic sang mã là khá tự nhiên với các hoạt động forall
và exists
trên một bộ sưu tập.Đây là tương tự với các định nghĩa phổ quát và tồn tại được đưa ra ở trên. Một số ví dụ đơn giản là hữu ích để hiển thị này:
scala> val l = 1 to 10
l: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
scala> l.forall(x => x > 0)
res0: Boolean = true
scala> l.forall(x => x > 1)
res1: Boolean = false
Hai forall
báo cáo chỉ đơn giản là đang yêu cầu làm tất cả yếu tố của bộ sưu tập này đáp ứng các tiêu chí.
scala> l.exists(x => x < 1)
res2: Boolean = false
scala> l.exists(x => x < 2)
res3: Boolean = true
Hai exists
báo cáo chỉ đơn giản là đang yêu cầu làm yếu tố bất kỳ bộ sưu tập này đáp ứng các tiêu chí.
câu trả lời tuyệt vời nhờ một triệu –
Điều chắc chắn. Tôi nghĩ rằng các khái niệm là đủ dễ dàng, đó chỉ là rất nhiều biệt ngữ chính thức từ một lớp logic. – theJollySin
bạn có thể bị nhầm lẫn với bài viết Wiki nó không phải là nguồn tốt nhất cho số lượng. 1 cho câu trả lời của bạn cho số lượng –