タイピングに関する質問 - ページ 8

 
Ilya Malev:

ColorToString(Color&(uint(-1)&65535)|(230<<16));と同じではないでしょ うか?

結果によってイエス、行動によってノー。

あなたのコードを研究するのは大変だと思います。

つまり、アンダースコア付き大文字の多用とコンテキスト解決操作を 除けば、あなたのメソッドのすべてが楽しいということです(冗談抜きに)。

もし(コンテキスト解決の)オペレーションがオーバーロードするようなことがあれば、あなたとあなたのライブラリは幽体離脱してしまうと思います :lol

ライブラリを書くのではなく、使えるライブラリを考えるのは大変です。

 
fxsaber:

結果的にはイエス、行動的にはノー。// まあ、はい、アクションによってPrint(ColorToString(Color=(Color&(uint(-1)&65535)|(230<<16)))); :)

ライブラリを書くのではなく、使えるライブラリを考えるのは大変です。// どちらも、あなたのように端末のクセを熟知していないと難しいですね :)

 
Ilya Malev:

いいえ、それは全く使われていないアルゴリズムです。ライブラリは変数の種類を気にしない。

 
fxsaber:

いいえ、それは全く使われていないアルゴリズムです。ライブラリは変数の種類を気にしない。

変数の型ではなく、その名前=つまり代入です。アクションと結果は同じで、変数が変更されます。

とはいえ、ライブラリーに遠く及ばなかったので、何か間違っていたらご容赦ください。
 
Ilya Malev:

変数の型ではなく、その名前=つまり代入です。アクションと結果は同じで、変数が変更されます。

とはいえ、図書館の奥まで入っていったわけではないので、何か間違っていたらご容赦ください。

例えば、MqlTick-variableを 整数型変数に置き換えることができる。

 
fxsaber:

整数変数の代わりに、例えばMqlTick-variableを 代用することができます。

すべては普遍的なものだと理解しています。構造体のコピーの問題は、次のスレッドで一緒に解決しました :)今のところ、この問題には直面していません。また、バイトからの各種データの構築や、ビットフィールドの変更も、オプションの数ではありますが、特に実益を伴わずに扱っています :)

 
Ilya Malev:

すべてが万能であることは理解しています。構造体をまとめてコピーする問題は、最近、隣のスレッドで解決しました :)今のところ、この問題には直面していません。また、バイトから様々な種類のデータを構築したり、ビットフィールドを変更したりすることは、特に実用的な用途はありませんが、多く扱ってきました :)

つまり、A(Object)[Index] = 5を作成することが可能です。

 
fxsaber:

A(Object)[Index]=5を作成することが可能であることを言いたかっただけです。

もちろん、すべてを1つの型、つまりバイトやビット、intsのセットとして扱うなら可能ですが、これは別の次元の話であって、シンプルで直感的でわかりやすく、変更可能なコードを作るということではありません。

 

また、int、double、datetimeの違いがないのも良いですね。ここで、もしかしたら誰かがこのアイデアを気に入ってくれるかもしれません(実際には原型と変わらない割り当て速度という意味で)。

#property strict

class price{ public:
  int    operator| (double p){return(int)(p*100000);}
  double operator| (int p){return(double)p/100000.0;}};

class time{ public:
  int operator| (datetime p){return(int)uint(p);}
  datetime operator| (int p){return(datetime)uint(p);}};

price f;
time t;

void OnStart()
 {
  int  bid = f|Bid, ask = f|Ask, time1 = t|TimeCurrent(), time2 = t|TimeLocal();
  
  Print("Bid = ", f|bid, " Ask = ", f|ask, " Current time = ", t|time1, " Local time = ", t|time2);
 }  


FX(価格は21474整数倍以下)および2107年までの日付で動作保証されます。
 
Ilya Malev:

また、int、double、datetimeの違いがないのも良いですね。

つまり、万が一ハエとカツを間違えてしまっても、なるべく発見しにくいようにするため?