簡體   English   中英

為什么 Semigroup 有一個 Option 類型並且在 Monoid 中表現得像一個中性元素?

[英]Why does Semigroup has an Option type and behave like a neutral element in Monoid?

為什么 Semigroup 有一個 Option 類型而 None 在 Monoid 中表現得像一個中性元素?

val two: Option[Int] = Option(2)
val n: Option[Int] = None

n |+| two should be(Some(2))//why do we have the opportunity to do this?
two |+| n should be(Some(2))//n look like neutral here

Semigroup[Option[Int]].combine(Option(1), None) should be(Some(1))//why does semigroup has it?

每個Monoid也是一個Semigroup Semigroup不一定有單位元素,但每一個也是Monoid Semigroup總會有一個(不需要“知道”這個概念)。

另一個例子:“整數加法”半群不正式擁有單位元素(零)。 它沒有定義一個。 但是您仍然可以添加 3 + 0 = 3。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM