答えて
import scalaz._, Scalaz._
scala> (1, 2.5) |+| (3, 4.4)
res0: (Int, Double) = (4,6.9)
範囲で暗黙Semigroup[A]
持つ任意のクラスA
ためのオペレータ|+|
があります。 Int
|+|
の場合は、デフォルトで+
です(コード内で再定義できます)。
A
とB
に暗黙のうちにSemigroup
がある場合、すべてのタプルに暗黙的なSemigroup[(A, B)]
があります。
Scalaz cheat sheetを参照してください。
:-) Scalaz答えを
1あなたはそれの非常に単純なバージョンをしたい場合は、のような暗黙のクラスを定義することができます。ため
implicit class TuppleAdd(t: (Int, Int)) {
def +(p: (Int, Int)) = (p._1 + t._1, p._2 + t._2)
}
(1, 1) + (2, 2) == (3, 3)
//アップデート1、より一般的なバージョン番号:
0123:だから、これが唯一のInt
のために定義された最もシンプルなバージョンです、私たちは、ScalaのNumeric
を使用して、すべての数値のためにそれをgenerifyことができ
implicit class Tupple2Add[A : Numeric, B : Numeric](t: (A, B)) {
import Numeric.Implicits._
def + (p: (A, B)) = (p._1 + t._1, p._2 + t._2)
}
(2.0, 1) + (1.0, 2) == (3.0, 3)
質問には「Int」だけではありません。あなたは 'math.Numeric'で次のように答えを改善することができます:'暗黙のクラスTuppleAdd [A:数値、B:数値](t:(A、B)){import Numeric.Implicits._; def +(p:(A、B))=(p・1 + t・1、p・2 + t・2)} 'となる。 – senia
それは本当です:-)構造型のバージョンについても考えましたが、おそらくそこには行かないでください;-) –
暗黙のdef tupleIsNumeric [A:数値、B:数値]を実装しようとしました:数値[(A、B)] 'であるが、' + '演算子(' -'と '*')がうまく動作する[issue](http://pastebin.com/fyty7mMy)がある。 – senia
- 1. 2つの親要素に要素を追加する
- 2. C#で単純なデータ型にXMLサブ要素を追加する方法
- 3. 2つの要素を同時にもう1つの要素を要素に追加します
- 4. 配列に2つの要素を追加する方法は?
- 5. タプルとして座標を返すスカラ
- 6. 要素のクリックで2つのリストの要素にCSSスタイルを追加
- 7. スカラ:どのようにリストにタプルの要素を変換する
- 8. リストのスカラHashMap:より単純なデフォルト?
- 9. 単純なcss要素の配置
- 10. LINQの要素にn子として要素を追加する方法
- 11. 2つ以上の要素を持つタプルのリストから要素を取得します。(Haskell)
- 12. Symfony 2フォーム要素にエラーを追加してください
- 13. NavigableMapのListに単一の要素を追加する
- 14. 画面にテキスト付きの単純なテーブルを追加する
- 15. 2つの単純なMySQLのクエリ
- 16. のMySql:2つの単純なテーブル
- 17. URLパラメータに単純なMACを追加しますか?
- 18. 単純なJSPサイトにログインシステムを追加します。
- 19. セレクタ構文を使用してjQueryを使用して2つの要素を同時に追加する
- 20. jQueryは2つの要素を1つの要素として扱います
- 21. jQueryの入力要素を追加し、その私がこの単純なHTMLコードを持っている入力要素
- 22. PHPの単純なXML要素の属性を抽出する
- 23. xcode 4プロジェクトに単純なライブラリを追加する
- 24. 単純な関数にクッキーを追加する
- 25. 要素の追加 - 要素がコンテナのオーバーフローを開始したときに追加を停止する
- 26. Tuple2と2要素のタプル:その違いは何ですか?
- 27. Djangoテンプレートをテンプレートに追加して、要素をテンプレートに追加する
- 28. セットにタプルを追加しても動作しない
- 29. jQueryの追加、私はいくつかのオプションを持つ単純なドロップダウンメニュー などを持っているドロップダウンメニュー
- 30. モデルに入力されていない単純フォームにチェックボックスを追加する
何を達成しようとしていますか?主にそのようなもののためのタプルを使って(おそらく)悪いスタイルとみなされます。 –
タプルはこのタイプのものではありません。それらは、複数の値を返すメソッドの便利なラッパーです。そのため、コレクションのような便利な機能を持たないのです。 –
私はタプルのリストを減らそうとしていました。私はタプルを使っていくつかのmap reduce型操作を行っています。税関のクラスとオブジェクトは過度のようです。 – Arun