エラー、バグ、質問 - ページ 2537

 

Toolbox/Expertsウィンドウに ::Print() 関数で長い文字列(260文字以上)を出力する場合、PCM/Copy関数で文字列をコピーすると256文字に切り詰められます。


一方、PCM/Review/Copyでコピーした場合は、切り捨てられない。

何が違うの?

 
A100:

それはわかります。

#define  MACRO( ТОЛЬКО_НЕ_void )    Print( "OK" )
void OnStart() { MACRO(); }

うーん、ややこしいな......。EEJAMSにご挨拶

#define    test(int) for(int i=0;i<10;i++) Print("OK");
//+------------------------------------------------------------------+
void OnStart()
  {
  test();
  }

'i' - 未宣言識別子 tst.mq5 16 3

ボイドオプションは問題なく使用できますが、ホイルを外すのを忘れないでください。
 
A100:

それはわかります。

#define  MACRO Print( "OK" )
void OnStart() { MACRO; }

マクロの後の括弧が気分を良くしてくれる?

そうそう、マクロのパラメータ宣言で予約語を使うのは、巨大なバグの前提条件への愛ですね。まあ、誰もが彼の足をオフに撮影する方法を自分で決定し、良いこと、開発者は本当にこの魅力的なアクションから私たちを確保しなかった、と彼らは祝福されるべきである)))))。

最後にパラメータ・マクロの内容と使い方を把握する。

 
Igor Makanu:

うーん、あなたには複雑ですね......。ハリネズミにご挨拶

'i' - 未宣言識別子 tst.mq5 16 3

void variantは問題なく動作しますが、よくわかると思います。
void OnStart()
  {
  for(i=0;i<10;i++) Print("OK");;
  }

これは、プリプロセッサが出力してくれるものです。

PS 2 ; - これは私のタイプミスではなく、本当にプリプロセッサの後になります。
 
Igor Makanu:

ボイド 版でも問題なく使えますが、ホイルをはずすのを忘れないようにするのが一番です。

この特定のケースではうまくいきますが、一般的なケースではうまくいきません。プライベートなケースに最悪の解決策は必要ない。ボイドとは、キーワードのことです。

 
Vladimir Simakov:

マクロの後にブラケットをすると、気分が良くなる?

しかし、マクロのパラメータ宣言に予約語を 使うのは、巨大なバグを作る前提条件への愛ですね。まあ、誰もが彼の足をオフに撮影する方法を自分で決定し、良いこと、開発者はかなり彼らが尊重するもののために、このエキサイティングなアクションから確保されていない)))。

最後にパラメータ・マクロの内容と使い方を把握する。

C++ではすべてが正常に動作する」という鉄板の論法があるんです。それに対して何か反論はありますか?ダメ?- それなら、道徳の教えを守ってください。そして、それを理解した方がいい。もし、ブラケットがなぜそこにあるのか理解できないのなら。

追伸提案したのはIgor Makanu です。
 
A100:

この特定のケースではうまくいきますが、一般的なケースではうまくいきません。特殊なケースのための最悪の解決策 - 誰もそれを必要としない。voidはキーワードの意味です。

わかった、どうぞ、あなたと話すのは気持ちのいいものではありません。私はいつも個性的な人に惹かれるのですが、このフォーラムでは技術的なトピックに興味があります

ウラジミール・シマコフ

それがプリプロセッサーが出力したものです。

PS 2 ; - 私のミスプリントではなく、本当にプリプロセッサー後になります。

それがどういうことなのか、私は知っています。

問題は純粋に技術的なもので、どうすればうまくいくのか、ということでした。

私はどんなタイプでも使いましたが、これはうまくいき、めったに使いません。- 私はいつもここでvoidを使用しています - 問題はありませんでしたし、そうあるべきではありません

 
A100:

C++ではすべてが正常に動作する」という鉄板の論法があるんです。何か反論はありますか?

あとはC#とかJSとか。ここだけmqlで、これがある。
 
Igor Makanu:

よし、忙しくしていろよ、お前と話すのは不愉快だ。あなたはいつも人格に飛びつく傾向がありますが、私は技術的なトピックについてこのフォーラムにもっと興味があります。

気持ちよくない?技術的なトピックに興味がありますか?メッセージから 察するに、あなたはSMというテーマに興味があるようですね。私は、あなたの言葉で、あなたの語彙を使って、あなたとコミュニケーションします。

 
Vladimir Simakov:
あとはC#とかJSとか、いろいろありますね。ここだけmqlで、こんな感じです。

C#、JS、その他はどうするんだ?MQLのドキュメントを読む - ページ 1:

"MQL5の構文はC++に似ている"。

https://www.mql5.com/ru/docs/basis。

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...