MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 20 1...131415161718192021222324252627...1953 新しいコメント 削除済み 2016.11.29 10:51 #191 Renat Akhtyamov:for(int i=1; int i<int n; int i++) ... ねお願いします。いや、そうじゃなくて。for( int i = 0; i < x; i++ ){}for( int i = 0; i < x; i++ ){}...そう、そして、あなたが書いたデザインはまったく機能しません。 Renat Akhtyamov 2016.11.29 10:53 #192 Artyom Trishkin: すべての変数は独自のスコープを持っています。中括弧の中でも、そのスコープで宣言された変数には別のスコープが存在します。では、例えば、ループインデックス変数が重複しないことが分かっていて、そのような変数名を「i」のように使えば十分であり、慣習となっている場合、なぜプログラムの様々な場所に異なる名前のループインデックス変数を作らなければならないのでしょうか。私は反論していない。 Artyom Trishkin 2016.11.29 10:54 #193 Renat Akhtyamov:for(int i=1; int i<int n; int i++) ... ねどういたしまして。 まともなプログラマが作らないような悪い例を意図的に作ったことを、あなた自身が自覚しているのです。 Renat Akhtyamov 2016.11.29 10:54 #194 Alexey Kozitsyn:いや、そうじゃなくて。for( int i = 0; i < x; i++ ){}for( int i = 0; i < x; i++ ){}...なんぼのもんじゃいこの場合、つまりあなたのコードがこのようなものだった場合、何が問題になりうるのか、あなたの経験を教えてください。int i;for( i = 0; i < x; i++ ){}for( i = 0; i < x; i++ ){}... Artyom Trishkin 2016.11.29 10:55 #195 Renat Akhtyamov:私はあなたと議論していたわけではありません。 これは私のスレッドです。そして、私が悪い、最適でないアドバイスをした場合、その人を正す権利があります。あなたは、目の前の状況を見る限り、悪いアドバイスをしています。 Renat Akhtyamov 2016.11.29 10:57 #196 Artyom Trishkin: これは私のスレッドです。そして、悪い準最適なアドバイスがなされた場合、私はその人を正す権利があります。あなたは、今の状況に関して、悪いアドバイスをしています。あなたのスレッドを、よく読んで、その投稿と返信先のニックネームを関連付けてください。要するに、場所が悪いんですね。 削除済み 2016.11.29 10:59 #197 Renat Akhtyamov:が、何の意味があるのでしょうか?この場合、何が問題なのか、つまり、あなたのコードがこのようになる場合、あなたの経験を教えてください。int i;for( i = 0; i < x; i++ ){}for( i = 0; i < x; i++ ){}...ループの外側でカウンターを初期化すると、そのスコープがループの外まで広がってしまうので、通常は必要ありません。例えば、コードの後半で変数jを用意し、誤ってそれをiと呼んでしまった場合などです。あるいは、インデックス[1]の代わりに[i]と書く、など。そのため、変数はできるだけ最初に使われる場所の近くで初期化し、グローバル変 数を大量に持たないようにする必要があります。これにより、起こりうるエラーのリストを減らすことができます。 Renat Akhtyamov 2016.11.29 11:01 #198 Alexey Kozitsyn:ループの外側でカウンターを初期化すると、そのスコープがループの外まで広がるが、これは通常必要ない。例えば、コードの後半で変数jを指定し、誤ってそれをiと呼んでしまった場合などです。あるいは、インデックス[1]の代わりに[i]と書く、など。そのため、変数はできるだけ最初に使われる場所の近くで初期化し、グローバル変 数を大量に持たないようにする必要があります。これにより、起こりうるエラーのリストを減らすことができます。これと(...)がどう関係するんだ?憤慨しています。i=0とi++と書いてあれば?では、私のために別のループに変えてください。動作しない 削除済み 2016.11.29 11:03 #199 Renat Akhtyamov:それがどうしたんだ?出てきました。 どこにいても、何にいても、それはあなたの権利です。説明しろと言われたので、説明しました。 Renat Akhtyamov 2016.11.29 11:05 #200 Alexey Kozitsyn: どこにいても、何にいても、それはあなたの権利です。説明しろと言われたので、説明しました。ここで考慮すべきは、ループブロックの後、iはすでにxと等しく、ループの中でi<xであればfor(...){}の後のArray[i]は配列のオーバーランエラーを返して終わりです 1...131415161718192021222324252627...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
...
いや、そうじゃなくて。
{
}
for( int i = 0; i < x; i++ )
{
}
...
そう、そして、あなたが書いたデザインはまったく機能しません。
すべての変数は独自のスコープを持っています。中括弧の中でも、そのスコープで宣言された変数には別のスコープが存在します。では、例えば、ループインデックス変数が重複しないことが分かっていて、そのような変数名を「i」のように使えば十分であり、慣習となっている場合、なぜプログラムの様々な場所に異なる名前のループインデックス変数を作らなければならないのでしょうか。
私は反論していない。
...
いや、そうじゃなくて。
{
}
for( int i = 0; i < x; i++ )
{
}
...
なんぼのもんじゃいこの場合、つまりあなたのコードがこのようなものだった場合、何が問題になりうるのか、あなたの経験を教えてください。
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
私はあなたと議論していたわけではありません。
これは私のスレッドです。そして、悪い準最適なアドバイスがなされた場合、私はその人を正す権利があります。あなたは、今の状況に関して、悪いアドバイスをしています。
あなたのスレッドを、よく読んで、その投稿と返信先のニックネームを関連付けてください。
要するに、場所が悪いんですね。
が、何の意味があるのでしょうか?この場合、何が問題なのか、つまり、あなたのコードがこのようになる場合、あなたの経験を教えてください。
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
ループの外側でカウンターを初期化すると、そのスコープがループの外まで広がってしまうので、通常は必要ありません。例えば、コードの後半で変数jを用意し、誤ってそれをiと呼んでしまった場合などです。あるいは、インデックス[1]の代わりに[i]と書く、など。
そのため、変数はできるだけ最初に使われる場所の近くで初期化し、グローバル変 数を大量に持たないようにする必要があります。これにより、起こりうるエラーのリストを減らすことができます。
ループの外側でカウンターを初期化すると、そのスコープがループの外まで広がるが、これは通常必要ない。例えば、コードの後半で変数jを指定し、誤ってそれをiと呼んでしまった場合などです。あるいは、インデックス[1]の代わりに[i]と書く、など。
そのため、変数はできるだけ最初に使われる場所の近くで初期化し、グローバル変 数を大量に持たないようにする必要があります。これにより、起こりうるエラーのリストを減らすことができます。
これと(...)がどう関係するんだ?
憤慨しています。
i=0とi++と書いてあれば?
では、私のために別のループに変えてください。
動作しない
それがどうしたんだ?
出てきました。
どこにいても、何にいても、それはあなたの権利です。説明しろと言われたので、説明しました。
ここで考慮すべきは、ループブロックの後、iはすでにxと等しく、ループの中でi<xであれば
for(...){}の後のArray[i]は配列のオーバーランエラーを返して終わりです