問題タブ [seq]

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.

0 投票する
2 に答える
17675 参照

scala - SeqをArrayBufferに変換する

ScalaでにSeq変換する簡潔な方法はありますか?ArrayBuffer

0 投票する
4 に答える
596 参照

scala - ScalaOption[T]の代わりとしてのClojureseq

Option[T]Scalaは、クラスの階層を提供します。これは、特に、Some[T] extends Option[T]None extends Option[Nothing]返すことができるJavaメソッド呼び出しをラップするのに役立つことがわかりました。null

resultJavaメソッドがオブジェクトを返したか、を返したかに応じて、0個または1個のアイテムのシーケンスのように機能しますnull。、などのOptionメソッドがあります。これらのメソッドは、シーケンスのメソッドと同じように使用でき、元のシーケンスが。の場合、または元のシーケンスがの場合は、新しいシーケンス()を返します。mapfilterSomeSome[T]NoneNone

Clojure関数seqも同様に動作するようです。xがnullでない場合、(seq x)またはxがnullの場合、1つのアイテムのシーケンスになりnilます。この値は、Scalaメソッドと同じよう(map ...)に、などに渡すことができます。(filter ...)Option

私は何かが足りないのですか?このパターンは意味がありますか?これは「ユーレカ!」ですか 経験豊富なClojureプログラマーにとって明らかな瞬間ですか?

0 投票する
1 に答える
82192 参照

list - 不変のSeqにアイテムを追加する

Seqたとえば、入力として一連の文字列があり、入力とアイテムの要素で構成される新しい不変を取得したいとします"c"。これが私が働いていることを発見した2つの方法です:

  1. assert(Seq("a", "b", "c") == Seq("a", "b") ++ Seq("c"))-これの問題は、操作のためだけに一時シーケンス(Seq("c"))をインスタンス化することは冗長であり、オーバーヘッドが発生するように見えることです。
  2. assert(Seq("a", "b", "c") == List("a", "b") ::: "c" :: Nil)-これは、入力コレクションのタイプをに制限しているListため、機能しSeq("a", "b") ::: "c" :: Nilません。また、インスタンス化するNilとオーバーヘッドが発生する可能性もあるようです

私の質問は次のとおりです。

  1. この操作を実行する他の方法はありますか?
  2. どちらがいいですか?
  3. Seq("a", "b") ::: NilScalaの開発者の欠陥は許されていませんか?
0 投票する
2 に答える
612 参照

f# - F#: Seq.forall 変ですか?

与えられたlet ra = ResizeArray<int> ()

私がそれを行うと、ra.Countが返されます5

私がそれを行うと、ra.Countが返されます0

では、ラムダ関数のすべての反復が true と評価されない限り、関数内のコードは実質的に実行されません。

何が起きてる?

0 投票する
3 に答える
2481 参照

bash - Bash スクリプトのループがメモリ不足ですか?

bash では、i=1 から i=99999999 までループするスクリプトを実行する必要がありますが、常にメモリ不足になります。回避策はありますか?またはiの最大値はありますか?

0 投票する
4 に答える
3774 参照

java - JavaIteratorのようなオブジェクトをclojureシーケンスに変換する方法

Sesameライブラリを使用して、メモリ内のトリプルストアでSPARQLクエリを実行しています。

私はこれを達成するためにClojureを使用しています。

クエリ結果はカスタムイテレータのような[1]オブジェクトであるため、clojureseqはそのままでは機能しません。

カスタムjavaIteratorのようなオブジェクトをclojureシーケンスに変換する最もエレガントな方法は何ですか?

私の頭に浮かんだ最も明白で愚かな考えは、それをループしてclojureベクトルを構築することですが、この問題にはもっとエレガントなアプローチがあると確信しています。

[1] http://www.openrdf.org/doc/sesame2/api/info/aduna/iteration/Iteration.html

0 投票する
5 に答える
916 参照

haskell - Haskellの`seq`演算子の時間コスト

このFAQには、

seq演算子は

x seqyはxを評価し、それがボトムでないことを確認してから、結果を破棄してyを評価します。これは役に立たないように思われるかもしれませんが、yが考慮される前にxが評価されることが保証されていることを意味します。

それはHaskellにとってはひどく素晴らしいことですが、それは

評価の費用はx2回支払われます(「結果を破棄する」)?

0 投票する
6 に答える
4960 参照

linux - zshで数値変数をゼロパディングする方法(おそらくbashも?)

zsh では、zsh で大量のファイルを作成する必要がある場合、通常は次のようにします。

これは問題なく動作し、foo-1.txt..という名前のファイルが表示されますfoo-1000.txt。ただし、これらのファイルはうまくソートされないため、変数をゼロで埋めて..の名前を生成し
たいと思います。$xfoo-0001.txtfoo-1000.txt

zshでそれを行う方法は?(そしておまけの質問、bashでそれを行う方法は?)

0 投票する
2 に答える
1081 参照

linq - LINQ Single に相当する F#

わかりました。ほとんどの LINQ 操作には、F# に相当するものがあります。(Seq= IEnumerable であるため、通常は Seq モジュールにあります)

と同等のものを見つけることができません。(Seq.find である) よりも優先します。これはより防御的であるためです。状態が期待どおりであると主張しIEmumerable.SingleますSingleFirst

したがって、いくつかの解決策があります (Seq.find を使用する以外に)。(これらは拡張メソッドとして記述できます)

私だけが呼び出しているこの関数の型シグネチャは、

only2が推奨されますが、コンパイルされません (その手がかりはありますか?)。

0 投票する
2 に答える
165 参照

haskell - 部分的に適用された関数の`seq`

私が次のものを持っているとしましょう:

さてf、実際に言うことができます:

だろう:

実際に評価f1 10するので、後で実行するときに

それは実際には単なる追加ですか?

そうでない場合、部分的に適用された関数の一部を「評価」する方法はありますか?

私は一般的な解決策を探しています。それは方法fg働きを知ることに依存しません。