問題タブ [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.
scala - SeqをArrayBufferに変換する
ScalaでにSeq
変換する簡潔な方法はありますか?ArrayBuffer
scala - ScalaOption[T]の代わりとしてのClojureseq
Option[T]
Scalaは、クラスの階層を提供します。これは、特に、Some[T] extends Option[T]
をNone extends Option[Nothing]
返すことができるJavaメソッド呼び出しをラップするのに役立つことがわかりました。null
result
Javaメソッドがオブジェクトを返したか、を返したかに応じて、0個または1個のアイテムのシーケンスのように機能しますnull
。、などのOption
メソッドがあります。これらのメソッドは、シーケンスのメソッドと同じように使用でき、元のシーケンスが。の場合、または元のシーケンスがの場合は、新しいシーケンス()を返します。map
filter
Some
Some[T]
None
None
Clojure関数seq
も同様に動作するようです。xがnullでない場合、(seq x)
またはxがnullの場合、1つのアイテムのシーケンスになりnil
ます。この値は、Scalaメソッドと同じよう(map ...)
に、などに渡すことができます。(filter ...)
Option
私は何かが足りないのですか?このパターンは意味がありますか?これは「ユーレカ!」ですか 経験豊富なClojureプログラマーにとって明らかな瞬間ですか?
list - 不変のSeqにアイテムを追加する
Seq
たとえば、入力として一連の文字列があり、入力とアイテムの要素で構成される新しい不変を取得したいとします"c"
。これが私が働いていることを発見した2つの方法です:
assert(Seq("a", "b", "c") == Seq("a", "b") ++ Seq("c"))
-これの問題は、操作のためだけに一時シーケンス(Seq("c")
)をインスタンス化することは冗長であり、オーバーヘッドが発生するように見えることです。assert(Seq("a", "b", "c") == List("a", "b") ::: "c" :: Nil)
-これは、入力コレクションのタイプをに制限しているList
ため、機能しSeq("a", "b") ::: "c" :: Nil
ません。また、インスタンス化するNil
とオーバーヘッドが発生する可能性もあるようです
私の質問は次のとおりです。
- この操作を実行する他の方法はありますか?
- どちらがいいですか?
Seq("a", "b") ::: Nil
Scalaの開発者の欠陥は許されていませんか?
f# - F#: Seq.forall 変ですか?
与えられたlet ra = ResizeArray<int> ()
:
私がそれを行うと、ra.Count
が返されます5
。
私がそれを行うと、ra.Count
が返されます0
。
では、ラムダ関数のすべての反復が true と評価されない限り、関数内のコードは実質的に実行されません。
何が起きてる?
bash - Bash スクリプトのループがメモリ不足ですか?
bash では、i=1 から i=99999999 までループするスクリプトを実行する必要がありますが、常にメモリ不足になります。回避策はありますか?またはiの最大値はありますか?
java - JavaIteratorのようなオブジェクトをclojureシーケンスに変換する方法
Sesameライブラリを使用して、メモリ内のトリプルストアでSPARQLクエリを実行しています。
私はこれを達成するためにClojureを使用しています。
クエリ結果はカスタムイテレータのような[1]オブジェクトであるため、clojureseqはそのままでは機能しません。
カスタムjavaIteratorのようなオブジェクトをclojureシーケンスに変換する最もエレガントな方法は何ですか?
私の頭に浮かんだ最も明白で愚かな考えは、それをループしてclojureベクトルを構築することですが、この問題にはもっとエレガントなアプローチがあると確信しています。
[1] http://www.openrdf.org/doc/sesame2/api/info/aduna/iteration/Iteration.html
haskell - Haskellの`seq`演算子の時間コスト
このFAQには、
seq演算子は
x
seq
yはxを評価し、それがボトムでないことを確認してから、結果を破棄してyを評価します。これは役に立たないように思われるかもしれませんが、yが考慮される前にxが評価されることが保証されていることを意味します。
それはHaskellにとってはひどく素晴らしいことですが、それは
評価の費用はx
2回支払われます(「結果を破棄する」)?
linux - zshで数値変数をゼロパディングする方法(おそらくbashも?)
zsh では、zsh で大量のファイルを作成する必要がある場合、通常は次のようにします。
これは問題なく動作し、foo-1.txt
..という名前のファイルが表示されますfoo-1000.txt
。ただし、これらのファイルはうまくソートされないため、変数をゼロで埋めて..の名前を生成し
たいと思います。$x
foo-0001.txt
foo-1000.txt
zshでそれを行う方法は?(そしておまけの質問、bashでそれを行う方法は?)
linq - LINQ Single に相当する F#
わかりました。ほとんどの LINQ 操作には、F# に相当するものがあります。(Seq= IEnumerable であるため、通常は Seq モジュールにあります)
と同等のものを見つけることができません。(Seq.find である) よりも優先します。これはより防御的であるためです。状態が期待どおりであると主張しIEmumerable.Single
ますSingle
。First
したがって、いくつかの解決策があります (Seq.find を使用する以外に)。(これらは拡張メソッドとして記述できます)
私だけが呼び出しているこの関数の型シグネチャは、
only2
が推奨されますが、コンパイルされません (その手がかりはありますか?)。
haskell - 部分的に適用された関数の`seq`
私が次のものを持っているとしましょう:
さてf
、実際に言うことができます:
だろう:
実際に評価f1 10
するので、後で実行するときに
それは実際には単なる追加ですか?
そうでない場合、部分的に適用された関数の一部を「評価」する方法はありますか?
私は一般的な解決策を探しています。それは方法f
とg
働きを知ることに依存しません。