記事"トレーダーのハック: 定義と ForEach のブレンド (#define)"についてのディスカッション - ページ 3 1234567 新しいコメント TheXpert 2018.02.14 16:22 #21 fxsaber:欠陥があり(構造にとっては不都合)、最適ではない。欠点があってもやるなら、私としては逆だ。これも欠陥があり、最適ではないが、私はその方が便利だと思う。 #define ForEach(type, element, array) \ for (int __i = 0, __max = ArraySize((array)); __i < __max; __i++) \ { \ type element = array[__i]; \ void OnStart() { string array[] = {"12", "23", "34", "45"}; ForEach(string, item, array) Print(item); } } fxsaber 2018.02.14 17:30 #22 Комбинатор:欠点があってもやるなら、その逆であるべきだと思う。欠点もあり、最適とは言えないが、私はその方が快適だと思う。そうですね、型では逃げ道がないようです。前の構造で抜け出す方法はこうだ。 template <typename T> bool Assign( const T &Value1, T &Value2 ) { Value2 = Value1; return(true); } #define forEach(element, array) for (int __i = 0, __max = ArraySize((array)); __i < __max && Assign(array[__i], element); __i++) 要するに不完了体。特にforEachは配列を読み込むだけで、書き込まないのだから。 Roman Shiredchenko 2018.02.14 18:16 #23 tUTは仕事のための仕事にしか見えない...。:-) 金言だ: 「私自身は、この記事で紹介されているテクニックをライフハックと考え、古典的なMQL5アプローチの信奉者であり続けています。おそらく、これらの記事は、MQL4スタイルで書くことに慣れている人々が、あらゆる点ではるかに便利なMetaTrader 5プラットフォームに 切り替える際の心理的障壁を克服するのに役立つだろう。" fxsaber 2018.02.14 18:40 #24 Roman Shiredchenko:tUTは仕事のための仕事にしか見えない...。:-)金言です:「私自身は、この記事で紹介されているテクニックをライフハックと考え、古典的なMQL5アプローチの信奉者であり続けています。おそらく、これらの記事は、MQL4スタイルで書くことに慣れている人が、すべてのパラメーターではるかに便利なMetaTrader 5 プラットフォームに切り替える際の心理的障壁を克服するのに役立つだろう。"同じ結果を得るために3倍以上のコードを書く用意がある人がいる時点で、それは普通のことだと確信しています。 fxsaber 2018.02.14 19:27 #25 forEachを終了するには、ネストされたforEachを使用できるように、マクロ内で##を使用する必要があります。 削除済み 2018.02.15 03:15 #26 Комбинатор:欠点があってもやるなら、その逆であるべきだと思う。欠点もあり、最適とは言えないが、私はその方が快適だと思う。あなたはマクロの欠点の1つを示した。 1つの括弧をその中に入れることはできるが、2つ目の括弧をその外に入れることを忘れてはいけないということだ。 それは絶対にしないでください! TheXpert 2018.02.15 08:24 #27 Koldun Zloy:マクロのデメリットの1つを示してくれたね。ああ、私にとっては、現在の状況では変数をマクロ化するよりはいい。 私は直接あなたに言った、良いバージョンは存在しないし、現在の現実では存在し得ない。 fxsaber 2018.02.15 08:40 #28 Комбинатор:その方が、変数をマクロ化するよりも良さそうだ。私が直接言ったように、良いバージョンは存在しないし、現在の現実では存在し得ない。これは良いバージョンだと思う #define ForEach(Index, array) for (int Index = 0, max##Index = ArraySize((array)); Index < max##Index; Index++) void OnStart() { string array[] = {"12", "23", "34", "45"}; ForEach(i, array) { Print(array[i]); ForEach(j, array) Print(array[j]); } } TheXpert 2018.02.15 09:06 #29 fxsaber:良いバージョンだと思う そうだね。 Rashid Umarov 2018.02.15 09:38 #30 fxsaber:良いバージョンだと思うネストされたForEachは、衝突がないことを示すためのものです。そうだろ? 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
欠陥があり(構造にとっては不都合)、最適ではない。
欠点があってもやるなら、私としては逆だ。これも欠陥があり、最適ではないが、私はその方が便利だと思う。
欠点があってもやるなら、その逆であるべきだと思う。欠点もあり、最適とは言えないが、私はその方が快適だと思う。
そうですね、型では逃げ道がないようです。前の構造で抜け出す方法はこうだ。
要するに不完了体。特にforEachは配列を読み込むだけで、書き込まないのだから。
tUTは仕事のための仕事にしか見えない...。:-)
金言だ:
「私自身は、この記事で紹介されているテクニックをライフハックと考え、古典的なMQL5アプローチの信奉者であり続けています。おそらく、これらの記事は、MQL4スタイルで書くことに慣れている人々が、あらゆる点ではるかに便利なMetaTrader 5プラットフォームに 切り替える際の心理的障壁を克服するのに役立つだろう。"
tUTは仕事のための仕事にしか見えない...。:-)
金言です:
「私自身は、この記事で紹介されているテクニックをライフハックと考え、古典的なMQL5アプローチの信奉者であり続けています。おそらく、これらの記事は、MQL4スタイルで書くことに慣れている人が、すべてのパラメーターではるかに便利なMetaTrader 5 プラットフォームに切り替える際の心理的障壁を克服するのに役立つだろう。"
同じ結果を得るために3倍以上のコードを書く用意がある人がいる時点で、それは普通のことだと確信しています。
欠点があってもやるなら、その逆であるべきだと思う。欠点もあり、最適とは言えないが、私はその方が快適だと思う。
あなたはマクロの欠点の1つを示した。
1つの括弧をその中に入れることはできるが、2つ目の括弧をその外に入れることを忘れてはいけないということだ。
それは絶対にしないでください!
マクロのデメリットの1つを示してくれたね。
ああ、私にとっては、現在の状況では変数をマクロ化するよりはいい。
私は直接あなたに言った、良いバージョンは存在しないし、現在の現実では存在し得ない。
その方が、変数をマクロ化するよりも良さそうだ。
私が直接言ったように、良いバージョンは存在しないし、現在の現実では存在し得ない。
これは良いバージョンだと思う
良いバージョンだと思う
良いバージョンだと思う
ネストされたForEachは、衝突がないことを示すためのものです。そうだろ?