エラー、バグ、質問 - ページ 326 1...319320321322323324325326327328329330331332333...3185 新しいコメント Sergey Gritsay 2011.03.06 14:41 #3251 Urain:最初の投稿では、割り当て操作を行っていますが、複数のカスケード割り当てでも問題ありません。ここでは、複数の比較を行おうとしています。 比較の方法は知っていますが、if(a<b<c)はヘルプには何も書いていないのに、動作して見た目がきれいになっています。どうしたら速く動作するのでしょうか? Mykola Demko 2011.03.06 14:53 #3252 sergey1294: 比較の方法は知っていますが、if(a<b<c)はヘルプには何も書いてありませんが、動作して見た目もきれいです。 でも、どうしたら速く動作するのでしょうか?あなたの表現は、この表現と同じですif(a<(b<c)) bとcを比較すると、その結果は0か1になり、この結果とaを比較します。 削除済み 2011.03.06 14:57 #3253 sergey1294: 比較の方法は知っていますが、if(a<b<c)はヘルプには何も書いていないのに、動作して見た目がきれいになります。 どうしたら速く動作するのでしょうか?このような仕組みになっています。if(a&&b&&c==3)Alert("a=b=c=3"); if(a<b&&b<c)Alert("a<b<c"); if(a==b)Alert("a=b"); とか、これじゃダメだ。 if(a<b<c)Alert("a<b<c"); if(a=b=c=3)Alert("a=b=c=3"); if(a==b==c==3)Alert("a=b=c=3"); if(a==b==c)Alert("a=b=c"); //Вот нежелание работать этого примера для меня странно (хотя может так и задумано) ウラン です。あなたの表現は、これと同じです bとcを比較すると、その結果は0か1になり、その後にaと比較することになります。 このロジックですべてが明らかになるのですが、なぜかaとbが先に比較されるような気がするのです(もちろん間違っているかもしれませんが)......。 Sergey Gritsay 2011.03.06 15:08 #3254 Urain:表情がこれと同じですね。 bとcを比較し、その結果が0か1か、そしてこの結果とaを比較する。なるほど、でも、この式では、こんな仕掛けがあるのですが、うまくいきません。void OnStart() { //--- int a=1; int b=2; int c=3; int d=3; //--- if(a!=b<c==d)Alert(""); else Alert("Условие не верно"); //--- } Mykola Demko 2011.03.06 15:09 #3255 Interesting:...ただ、なんとなくaとbが先に比較されるような気がするのですが...(もちろん間違っているかもしれませんが)。 そうですね、機械的に間違っているだけで、まず左側の比較があって、次に右側の比較があるんです。 削除済み 2011.03.06 15:15 #3256 sergey1294:なるほど、でも、この式では、こんな仕掛けがあるのですが、うまくいきません。いや、運営の優先順位やウラ インのコメントも考慮した上でということなのですが。この表現も問題はないのですが、非常に不具合が発生します。if(a<b<c)Alert("a<b<c");この問題については、編集の「優先順位と操作の順序」の 項で詳しく説明しています。(優先順位や操作の順番を考慮する必要があります)。つまり、私の理解が正しければ、コンパイラによる比較は次のようになります(Nikolayのコメントを考慮に入れています)。if((a!=(b<c))==d)Alert("") 削除済み 2011.03.06 15:16 #3257 Interesting: リストの大きさはどのくらいですか?リストのサイズに制限があるのかもしれませんが...。 ちょうど100行。 削除済み 2011.03.06 15:46 #3258 -Alexey-: ちょうど100行。私のライブラリの1つ(110関数)で実験、リストに100から106を表示(常に違う数字が表示され、110は表示されない)。 DenisR 2011.03.06 20:27 #3259 .csvファイルを読み込む際、いくつかの問題が一度に発生しました。誤作動の原因を探るため、簡単なスクリプトを書いてみた。このスクリプトは、"test.csv "というファイルからデータを読み込む。ファイルの終端に到達すると、forループの反復回数、ファイルサイズ、ファイルポインタの位置をログに出力します。ファイル "test.csv "は15行しかないので、ループ "for "の反復回数は14回でなければならないのに、ジャーナルは0回を生成しているのだ。ファイルサイズは正しく表示されるが、ファイルエンドポインタの位置がなぜかファイルそのものより大きなサイズになっている。スクリプトコードです。void OnStart() { int handle; ulong i, size; double _Ask, _Bid; string str; handle = FileOpen("test.csv",FILE_CSV|FILE_READ,','); if (handle != INVALID_HANDLE) { size = FileSize(handle); for (i = 0; i < size; i++) { str = FileReadString(handle); _Ask = FileReadNumber(handle); _Bid = FileReadNumber(handle); if (FileIsEnding(handle)) { Print(i," ",size," ",FileTell(handle)); break; } } } FileClose(handle); return; } "test.csv "ファイルとログを添付しました。この質問について、どなたかご意見をお聞かせください。 P.S. 最も興味深いのは、このスクリプトがMT4でエラーなしに動作することです。 ファイル: test.zip 1 kb Дмитрий Александрович 2011.03.06 22:39 #3260 DenisR:.csvファイルを読み込む際、いくつかの問題が一度に発生しました。誤作動の原因を探るため、簡単なスクリプトを書いてみた。このスクリプトは、"test.csv "というファイルからデータを読み込む。ファイルの終端に到達すると、forの繰り返し回数、ファイルサイズ、ファイルポインタの位置をログに出力します。ファイル "test.csv "は15行しかないので、ループ "for "の反復回数は14回でなければならないのに、ジャーナルは0回を生成しているのだ。ファイルサイズは正しく表示されるが、ファイルエンドポインタの位置がなぜかファイルそのものより大きなサイズになっている。スクリプトコードです。 "test.csv "ファイルとログを添付しました。この質問について、どなたかご意見をお聞かせください。 P.S. 最も興味深いのは、このスクリプトがMT4でエラーなしに動作することです。 一見すると、ファイル全体が str...に書き込まれているように見えます。 FILE_ANSIフラグを追加、デフォルトでunicodeを読み込むため:) また、最後に空白行があるため、iは15になります。 1...319320321322323324325326327328329330331332333...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
最初の投稿では、割り当て操作を行っていますが、複数のカスケード割り当てでも問題ありません。ここでは、複数の比較を行おうとしています。
比較の方法は知っていますが、if(a<b<c)はヘルプには何も書いてありませんが、動作して見た目もきれいです。 でも、どうしたら速く動作するのでしょうか?
あなたの表現は、この表現と同じです
if(a<(b<c))
bとcを比較すると、その結果は0か1になり、この結果とaを比較します。比較の方法は知っていますが、if(a<b<c)はヘルプには何も書いていないのに、動作して見た目がきれいになります。 どうしたら速く動作するのでしょうか?
このような仕組みになっています。
とか、これじゃダメだ。
あなたの表現は、これと同じです
bとcを比較すると、その結果は0か1になり、その後にaと比較することになります。表情がこれと同じですね。
bとcを比較し、その結果が0か1か、そしてこの結果とaを比較する。なるほど、でも、この式では、こんな仕掛けがあるのですが、うまくいきません。
...ただ、なんとなくaとbが先に比較されるような気がするのですが...(もちろん間違っているかもしれませんが)。
なるほど、でも、この式では、こんな仕掛けがあるのですが、うまくいきません。
いや、運営の優先順位やウラ インのコメントも考慮した上でということなのですが。
この表現も問題はないのですが、非常に不具合が発生します。
この問題については、編集の「優先順位と操作の順序」の 項で詳しく説明しています。(優先順位や操作の順番を考慮する必要があります)。
つまり、私の理解が正しければ、コンパイラによる比較は次のようになります(Nikolayのコメントを考慮に入れています)。
リストの大きさはどのくらいですか?リストのサイズに制限があるのかもしれませんが...。
ちょうど100行。
私のライブラリの1つ(110関数)で実験、リストに100から106を表示(常に違う数字が表示され、110は表示されない)。
.csvファイルを読み込む際、いくつかの問題が一度に発生しました。誤作動の原因を探るため、簡単なスクリプトを書いてみた。このスクリプトは、"test.csv "というファイルからデータを読み込む。ファイルの終端に到達すると、forループの反復回数、ファイルサイズ、ファイルポインタの位置をログに出力します。ファイル "test.csv "は15行しかないので、ループ "for "の反復回数は14回でなければならないのに、ジャーナルは0回を生成しているのだ。ファイルサイズは正しく表示されるが、ファイルエンドポインタの位置がなぜかファイルそのものより大きなサイズになっている。スクリプトコードです。
"test.csv "ファイルとログを添付しました。この質問について、どなたかご意見をお聞かせください。
P.S. 最も興味深いのは、このスクリプトがMT4でエラーなしに動作することです。
.csvファイルを読み込む際、いくつかの問題が一度に発生しました。誤作動の原因を探るため、簡単なスクリプトを書いてみた。このスクリプトは、"test.csv "というファイルからデータを読み込む。ファイルの終端に到達すると、forの繰り返し回数、ファイルサイズ、ファイルポインタの位置をログに出力します。ファイル "test.csv "は15行しかないので、ループ "for "の反復回数は14回でなければならないのに、ジャーナルは0回を生成しているのだ。ファイルサイズは正しく表示されるが、ファイルエンドポインタの位置がなぜかファイルそのものより大きなサイズになっている。スクリプトコードです。
"test.csv "ファイルとログを添付しました。この質問について、どなたかご意見をお聞かせください。
P.S. 最も興味深いのは、このスクリプトがMT4でエラーなしに動作することです。
FILE_ANSIフラグを追加、デフォルトでunicodeを読み込むため:)
また、最後に空白行があるため、iは15になります。