タグ付けされた質問 「for-loop」

forループは、範囲を反復するために多くのプログラミング言語で使用される制御構造です。これは、ループが終了するまでステートメントを何度も繰り返す方法です。言語によっては、整数、イテレータなどの範囲を超える場合があります。

15
Bashの文字列内の各文字に対してforループを実行するにはどうすればよいですか?
私はこのような変数を持っています: words="这是一条狗。" 私は文字のそれぞれ1つずつ、例えば最初にforループを作りたいcharacter="这"、そしてcharacter="是"、character="一"など 私が知っている唯一の方法は、各文字をファイル内の別々の行に出力してから使用することwhile read lineですが、これは非常に非効率的なようです。 文字列内の各文字をforループで処理するにはどうすればよいですか?
83 bash  for-loop 

6
Bashでアルファベットをループする
私がしたいmvディレクトリに「X」「X」で始まるすべてのファイル。何かのようなもの: mv path1/x*.ext path2/x そして、すべてのアルファベット文字a、...、zに対してそれを行います 'x'がアルファベットをループするbashスクリプトを作成するにはどうすればよいですか?
82 bash  loops  for-loop 


4
理解のためにScalaでミスマッチを入力する
この構造がScalaで型の不一致エラーを引き起こすのはなぜですか? for (first <- Some(1); second <- List(1,2,3)) yield (first,second) <console>:6: error: type mismatch; found : List[(Int, Int)] required: Option[?] for (first <- Some(1); second <- List(1,2,3)) yield (first,second) 一部をリストに切り替えると、正常にコンパイルされます。 for (first <- List(1,2,3); second <- Some(1)) yield (first,second) res41: List[(Int, Int)] = List((1,1), (2,1), (3,1)) これも正常に機能します。 for (first <- …

1
HashSetコードの予期しない実行時間
だから、もともと、私はこのコードを持っていました: import java.util.*; public class sandbox { public static void main(String[] args) { HashSet<Integer> hashSet = new HashSet<>(); for (int i = 0; i < 100_000; i++) { hashSet.add(i); } long start = System.currentTimeMillis(); for (int i = 0; i < 100_000; i++) { for (Integer val : hashSet) { …

5
テンプレートクラスを生成するためのforループにconst変数を含めるにはどうすればよいですか?
私のようなコードがあります template <size_t N> class A { template <size_t N> someFunctions() {}; }; 次に、クラスのインスタンスを作成し、そのような関数をforループで呼び出して、次のような多くの値のセットを取得します // in main() int main() { for (int i = 1; i <= 100; i++) { const int N = i; // dont know how to do this A<N> a; a.functionCalls(); } } これを行う方法?これを行う方法を期待しています。

2
プッシュ後にスカラー値が影響を受けるかどうか…(楽)
プッシュされたScalarコンテナーによって保持されている値がプッシュ後に影響を受ける時期と理由を理解するのが困難です。2つの様式化された例で、より複雑な状況で遭遇した問題を説明しようと思います。 *例1 *最初の例では、スカラー$iがの@b一部として配列にプッシュされListます。プッシュ後、スカラーが保持する値は、$i++命令を使用したforループの後の反復で明示的に更新されます。これらの更新は、配列の値に影響を及ぼします。for @bループの最後で、@b[0;0]はに等しく3、もはやにはなりません2。 my @b; my $i=0; for 1..3 -> $x { $i++; say 'Loose var $i: ', $i.VAR.WHICH, " ", $i.VAR.WHERE; if $x == 2 { @b.push(($i,1)); say 'Pushed $i : ', @b[0;0].VAR.WHICH, " ", @b[0;0].VAR.WHERE; } } say "Post for-loop"; say "Array : ", @b; say 'Pushed …

6
無害な範囲ベースのforループが機能しない
以下はコンパイルされません: #include <iostream> int main() { int a{},b{},c{},d{}; for (auto& s : {a, b, c, d}) { s = 1; } std::cout << a << std::endl; return 0; } ゴッドボルトで試してみてください コンパイラエラーは次のとおりです。 error: assignment of read-only reference 's' 今私の実際の場合、リストはクラスのメンバー変数で構成されています。 これで、式がinitializer_list<int>実際にa、b、c、およびdをコピーするになるため、これは機能しません。したがって、変更もできません。 私の質問は2つあります。 このように範囲ベースのforループを記述できないようにする動機はありますか? 例えば。おそらく、裸のブレース式の特別なケースがあるかもしれません。 このタイプのループを修正する構文上のきちんとした方法は何ですか? この線に沿ったものが好ましいでしょう: for (auto& s : something(a, b, …

7
このコードブロックを改善および短縮するにはどうすればよいですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3か月前に閉鎖。 この関数は、「GTCA」などのDNAの文字列を取り、正しく一致するDNAペアを含む配列を返します。 function pairDNA(dna) { const pairs = [] for (let i = 0; i < dna.length; i ++) { if (dna[i] === "C" | dna[i] === "c") { pairs.push("CG"); } else if (dna[i] === "G"| dna[i] === "g") { pairs.push("GC"); } else if (dna[i] === "T"| dna[i] …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.