問題タブ [tuples]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - string.format() に渡される引数のタプルを返します
現在、Python でメソッドを取得して、ゼロ、1、または 2 つの文字列のリストを返して文字列フォーマッタにプラグインし、それらを文字列メソッドに渡そうとしています。私のコードは次のようになります。
このコードを実行しようとすると、コンパイラは IndexError: tuple index out of range を返します。
戻り値を引数として渡すには、どのように構造化すればよい.format()
ですか?
language-agnostic - タプルは互いにサブクラス化する必要がありますか?
OOP 言語のタプル クラスのセット: Pair、Triple、Quad がある場合、Triple は Pair をサブクラス化し、Quad は Triple をサブクラス化する必要がありますか?
問題は、私が見ているように、トリプルをペアとして代用できるかどうか、同様にクワッドをトリプルまたはペアとして代用できるかどうかです。トリプルもペア、クワッドもトリプルとペアか。
1 つのコンテキストでは、このような関係は拡張性にとって価値があるかもしれません。今日、この Thing は Pair of を返しますが、明日は、3 つのうち最初の 2 つだけを使用している既存の呼び出し元を壊すことなく Triple を返す必要があります。
一方、それらはそれぞれ別個のタイプである必要がありますか? ペアを期待するメソッドにトリプルを渡すことができない場合、より強力な型チェックに利点があることがわかります。
私は継承の使用に傾倒していますが、他の人からの意見を本当に感謝していますか?
PS: 場合によっては、クラスは (もちろん) ジェネリックになります。
PPS: もっと主観的な話ですが、名前は Tuple2、Tuple3、Tuple4 にするべきですか?
編集: 私はこれらを疎結合グループと考えています。x/yx/y/z 座標のようなものには特に使用されませんが、そのようなものに使用される場合があります。メソッドからの複数の戻り値に対する一般的な解決策が必要になるようなものですが、非常に単純なセマンティクスを持つ形式です。
とはいえ、他の人が実際にタプルを使用したすべての方法に興味があります。
scala - Scala でのタプル型のアンパック
Scala でタプル型をそのコンポーネントの型に分解できますか?
つまり、このようなもの
f# - F#タプルの特定のメンバーへのアクセス
F#コードには、タプルがあります。
タプルの各メンバーに個別にアクセスしたい。たとえば、これは私が達成したいことはできません
このコードは明らかに機能しません。私が達成したいことを収集できると思います。
python - Python でタプルのリストの各タプルの最初の値を合計するにはどうすればよいですか?
次のようなタプル (常にペア) のリストがあります。
各ペアの最初のアイテムの合計を見つけたいのですが、つまり:
Pythonでこれを行うにはどうすればよいですか? 現時点では、リストを繰り返し処理しています:
もっとPython的な方法が必要だと感じています。
powershell - Powershell 2 の構造体またはオブジェクト
Powershell の最新バージョンには、JavaScript のような機能がありますか。
そうでない場合、同等または回避策は何ですか?
更新
すべてのコメントを読む
c++ - オブジェクトの代わりにタプルを使用する理由
私が作業しているコードベースには、A と B がペアの最初と 2 番目の値の型であるペアというオブジェクトがあります。このオブジェクトは、明確に名前が付けられたメンバーを持つオブジェクトの代わりに使用されるため、攻撃的であることがわかりました。だから私はこれを見つけます:
それ以外の
コードベースでの Pair の他の多くの使用法も、同様に悪臭を放っています。
私はタプルをグーグルで検索しましたが、それらはしばしば誤解されたり、疑わしい方法で使用されたりしているようです。それらの使用に賛成または反対する説得力のある議論はありますか? 巨大なクラス階層を作成したくないのは理解できますが、タプルを使用しないとクラス階層が爆発する現実的なコードベースはありますか?
c++ - タプルを可変個引数テンプレート関数の引数に展開するにはどうすればよいですか?
可変個引数のテンプレート引数を持つテンプレート化された関数の場合を考えてみましょう:
今、私はt
値のタプルを持っています。func()
タプル値を引数として使用して呼び出すにはどうすればよいですか? 関数を使用したbind()
関数オブジェクトと、現在は廃止されたさまざまなドキュメントの関数について読んだことがあります。GNU GCC 4.4 の実装にはクラス内の機能があるようですが、この件に関するドキュメントはほとんどありません。call()
apply()
call()
bind()
手書きの再帰的なハックを提案する人もいますが、可変個引数テンプレート引数の真価は、上記のような場合に使用できることです。
誰かが解決策を持っていますか、それについてどこで読むべきかについてのヒントはありますか?
python - Python でリストを作成する
座標を表す一連の Python タプルがあります。
次のリストを作成したいと思います。
IndexError: list index out of range が発生します。
私のバックグラウンドは PHP で、Python ではインデックス > 0 で始まるリストを作成できると期待していました。
アイデアは、後でリストをソートすることです。辞書でこれを行うことができることは知っていますが、私が知る限り、辞書はキーでソートできません。 更新:私は彼らができることを知っています-受け入れられた解決策を見てください。
編集:私がやりたいのは、タプル座標で記述されたマトリックスを表す2D配列を作成し、それを順番に繰り返すことです。辞書を使用する場合、キーの反復処理が正しいという保証はありません -> (0,0) (0,1) (0,2) (1,0) (1,1) (1,2) ) (2,0) (2,1) (2,2)
誰でも助けることができますか?
scala - Scalaでタプルをベクトルに暗黙的に変換するにはどうすればよいですか
数値のタプル (Int と double) を暗黙的にベクトル オブジェクトに変換できるようにしたいと考えています。
+ メソッドを持つ Vector クラスを想定する
私の目標は、次のコードを機能させることです。
私はそれをInt
次のように動作させることができます
しかし、double の変換を追加すると失敗します
Andri の提案に従って、ちょうど 2 倍にしようとしています
これを機能させるにはどうすればよいですか?