問題タブ [fold]
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.
scala - Scala - リデュース/左折
次のようなネストされたマップm
があります。
m = Map("email" -> "a@b.com", "background" -> Map("language" -> "english"))
私は配列を持っていますarr = Array("background","language")
配列を左折/縮小して、マップから文字列「english」を見つけるにはどうすればよいですか。私はこれを試しました:
arr.foldLeft(m) { (acc,x) => acc.get(x) }
しかし、私はこのエラーが発生します:
scala - ScalaでのfoldLeftとreduceLeftの違い
との基本的な違いを学びましfoldLeft
たreduceLeft
foldLeft:
- 初期値を渡す必要があります
reduceLeft:
- コレクションの最初の要素を初期値として取ります
- コレクションが空の場合は例外をスローします
他に違いはありますか?
同様の機能を持つ2つのメソッドがある特定の理由はありますか?
scala - foldRight無限の怠惰な構造
http://en.wikipedia.org/wiki/Fold_(higher-order_function )によると、完全なリストを評価する必要がない場合は、右に折りたたむと無限のリストを操作できます。これはhaskellで実際に見られます:
これは、ストリームのscalaではうまく機能しないようです。
またはイテレータ上:
Scalaで怠惰なフォールドを実現するための実用的な解決策はありますか?
scala - コレクションが順序付けされているかどうかを確認する慣用的な構造
この質問をさらに学習する意図で、リスト(またはコレクション)が順序付けられているかどうかをチェックするアルゴリズムの明示的な再帰に代わる慣用的な代替手段に興味を持っていました。(ここでは、演算子を使用して比較し、型として Int を使用することで物事を単純にしています。そのジェネリックを掘り下げる前に、アルゴリズムを調べたいと思います)
基本的な再帰バージョンは次のようになります (@Luigi Plinge による):
パフォーマンスの悪い慣用的な方法は次のとおりです。
フォールドを使用した代替アルゴリズム:
最初の順不同の要素を見つけた後、早く停止できたとしても、リストのすべての n 要素を比較するという欠点があります。フォールドを「停止」して、これをより良い解決策にする方法はありますか?
他の(エレガントな)代替品はありますか?
filter - DrRacket/Scheme の Map、Filter、Foldr
プログラミング言語: Scheme/DrRacket
私たちは現在、コンプ科学クラスでmap
、filter
、およびに取り組んでいます。foldr
3つすべてを使用して抽象関数を作成できることは理解していますが、正直なところ、3つの違いと、それぞれをいつ使用するかについて少し混乱しています。
それぞれが何に使用され、どのように異なるのかを説明したい人はいますか? 残念ながら、私の本はあまり明確ではありません。
html - 記事のコンテンツがフォールドを超えたときのコンテナーの左パディング
ヘッダー、ナビゲーション、サイドバー、および記事を含むコンテナーがあります。記事のコンテンツが折り目を超えると、コンテナの左側にパディングまたはマージンが追加されます。コンテンツが折り目を超えるページとそうでないページを切り替えると、コンテナが右に揺れるので明らかです。
HTML
CSS
ヘッダー、フッター、ナビゲーション、記事、脇{表示: ブロック; }
#container{ ボーダー半径: 20px; 背景色:#97C02F; パディング:10px 50px 30px 50px; マージン:0px 自動; 幅:880px; オーバーフロー:自動; }
脇に{ float:left; 幅:150px; パディング右:15px; 赤色; マージントップ:15px; }
記事{フロート:左; 幅:660px; margin-left:20px; }
section{ font-family: 'Droid Sans', sans-serif; 色:#FFFFFF; フォントサイズ:15px; フォントの太さ:通常; }
すべてのコードを挿入したわけではありませんが、必要なビットを挿入したと思います。
php - Aptanaの折りたたみ/折りたたみメソッド?
Aptanaは初めてなので、何かが足りないかどうかはわかりませんが。クラスメソッドを折りたたむのに問題があります。クラス内で現在作業している関数を除いてすべてを折りたたむのが好きですが、折りたたんでから編集に進むたびに、すべてが再び展開されます。
したがって、クラス内のメソッドを編集するときに、クラス内のすべてが展開されるのは、ある種の機能だと思います。これを回避する方法はありますか?私はこれまでAptanaが大好きですが、これは非常に面倒です。
list - 2 つのリストを 1 つの関数に渡すために、Scheme の Map 関数をどのように使用できますか?
スキームについて質問があります。私は言語にかなり慣れていないので、質問はかなり一般的です。
再帰関数を定義せずに、Map (またはそのようなもの) を使用して 2 つのパラメーターのリストを関数にフィードし、出力から単一の新しいリストを生成することは可能ですか?
たとえば、私が持っていたとします:
そして、何らかの方法で + 関数をマップし、出力が新しいリスト lst3 になるように、各リストをパラメーターとして指定します。
質問をもう少し簡潔に述べると、両方のパラメーターがリストである場合、2 項関数を最も効率的にマップするにはどうすればよいでしょうか?
助けてくれてありがとう!
list - リスト上のこの再帰関数の他のコード
たとえば、asciibox の次の列の位置を見つける関数を作成しました。
ボックス b は列 "pseudo code " {length (box a)} から始まり、ボックス c は疑似コード {length box a + length box b} から始まる必要があります。
だから私はこの関数を書いた
それは私が欲しいものを私に与えます
他のアルゴリズムが可能かどうか知りたいです。「折りたたみ」または「展開」またはおそらく「反復」による解決策はありますか
ありがとう
scheme - DrRacket - Lambda を使用する中級者向け - リストの順序付け
ラムダを使用して、数値のリストを消費し、各数値の最初の出現以外のすべてを削除する関数を作成するように求める割り当ての質問があります。私の関数は、間違った結果を生成することを除いて、非常に優れていると思います! 各数値の最後の出現を含むリストを生成します。適切なリストと同じ値を持つリストを生成しますが、順序が異なります。これが私のコードです:
foldl
の代わりに使用してみましfoldr
たが、驚くことではありませんが、正しいリストが生成されますが、逆になります。foldl
別のラムダ式で作成されたリストを逆にすることに頼らずに、正しいリストを作成する方法はありますか?
これは宿題なので、明確な回答はしないでください。
みんな、ありがとう!