ライブラリ: JSONシリアライズとデシリアライズ(ネイティブMQL) - ページ 11 1...456789101112131415161718 新しいコメント Andrey Dik 2018.02.21 18:18 #101 o_o:アレイの深さは自分で作ったんだろ?私が?- いや、僕の想像力はそこまで及ばないけど、これはいわば人生の具体例だ。 つまり、ポインタとか頭でっかちな構造とか使わずに、シンプルにできないかってことなんだ(ライブラリのコード自体は控えめに黙っておこう)。 --- 2018.02.21 18:27 #102 Andrey Dik:私が?- いや、私の想像はそこまでは行かないが、これはいわば人生の具体例だ。ポインタや頭脳的な構造がないとできないのか、という意味だ。ポインタを使わずにどこをどうしたいんだ? 具体的に何がしたいんだ? ログの中のjsonの一部か? "お金が欲しい "ボタンか? Andrey Dik 2018.02.21 18:33 #103 o_o:具体的に何が必要なのか? ログの中のjsonの一部か? "お金が欲しい "ボタンか?そういうことだ: CJAVal* j1=GetPointer(js.m_e[i].m_e[i1]);ライブラリのコードを知らずに、それが何なのか、なぜそれが必要なのかを推測することはできない。データへの単純なアクセスのために、ToDbl()のような関数があるはずだ。 このように「無知」なのは私だけではないようだ。 ss.例えばm_e-このちっぽけなものは何なのだろう?- これはgroupName 以外の何物でもない!もっと文字が多い?- いや、もっと明確だ。 結論:このライブラリーはとてもパワフルで不思議な働きをしてくれるが、「ドライな言語」で書かれているので、気の弱い人、看護婦さんや子供にはコードを見ない方がいい・・・。 Delta.800 2018.02.21 20:09 #104 Andrey Dik:そういうことだ:ライブラリーのコードを知らずに、それが何なのか、なぜそれが自分の望むものを得るために行われるべきなのか、どうやって推測できるのだろう? 単純なデータ・アクセスのためにToDbl()のような関数があるはずだ。なるほど、「無知」なのは私だけではないようだ。ss.例えばm_e-このちっぽけなものは何なのだろう?- これはgroupName 以外の何物でもない。- いや、もっと明確だ。結論:このライブラリーはとても強力で、不思議な働きをしてくれるが、「乾いた言語」で書かれているので、気の弱い人、看護婦さんや子供にはコードを見ない方がいい...。他のライブラリーを試した方がいいのでは? 以前使っていたのですが、MQL5(古いバージョン)ではコンパイルできませんでした。適応させる必要がある。もしくは新しいバージョンを試すか... http://www.lordy.co.nf/mql4/ それについてはフォーラムのどこかにありました... --------------------- ここです... https://www.mql5.com/en/code/11134 --- 2018.02.21 20:24 #105 Andrey Dik:そういうことだ:ライブラリーのコードを知らずに、それが何なのか、なぜそれが自分の望むものを得るために行われるべきなのか、どうやって推測できるのだろう? 単純なデータ・アクセスのためにToDbl()のような関数があるはずだ。なるほど、「無知」なのは私だけではないようだ。ss.例えばm_e-このちっぽけなものは何なのだろう?- これはgroupName 以外の何物でもない。- いや、もっと明確だ。結論:このライブラリーはとても強力で、不思議な働きをしてくれるが、「ドライな言語」で書かれているので、気の弱い人、看護婦さんや子供にはコードを見ない方がいい・・・。誰があなたにm_e配列の中に入ることを強要したのですか? あなたがコードに何を求めているのかわからない。そして、あなたがどんなタスクを開発しているのかも知らない。 --- まず第一に、jsonはデータ転送のフォーマットであり、構造である。 もしあなたが受け取ったデータの構造を理解していないなら、それは私のクラスの問題ではなく、あなたの問題だ。データ・ソースのドキュメントを見て、そこで理解できることを探してください。 第二に、このクラスはフォーマットを扱うための基本的な機能(シリアライズ、構造の保存、便利なハンドリング)を実装している。 ある配列からデータを取得したいのであれば、便利なコードを書くだろう。 Print( js["фирма1"]["модельный_ряд1"][0][0].TODbl() ); 構造体全体を取得するためのループのような長ったらしいデタラメは書かない。何がなんだかわからない。 Andrey Dik 2018.02.21 20:29 #106 Delta.800:他の図書館に行った方がいい以前使っていたのですが、MQL5(古いバージョン)ではコンパイルできませんでした。それに合わせる必要がある。もしくは新しいバージョンを試すか...http://www.lordy.co.nf/mql4/フォーラムのどこかにそのことが書かれていました。---------------------これだhttps://www.mql5.com/en/code/11134ありがとう、でも僕はセルゲイエフのコードを完全に信頼しているよ。もちろん、ポインタについては私がバカだった。読みにくい......フィイ、なんてこった......。 Andrey Dik 2018.02.21 20:46 #107 o_o: Print( js["фирма1"]["модельный_ряд1"][0][0].TODbl() );そして、構造全体をループするような長ったらしいデタラメはない。どういうことなんだろう?グループ名によってデータが存在しなかったり、グループが完全でなかったり、グループ名がデータになかったり、他の何かだったり...。 この方法なら簡単でわかりやすいし、常に配列のサイズを チェックできるので、構造体を埋めるのに困ることもない: js.group [счетчикФирм].group [счетчикМодельногоРяда].group [счетчикМоделей].group [счетчикМодельВизОбъем].ToDbl ()); --- 2018.02.21 20:58 #108 このようなバリアントでは、存在しない要素をどう扱うかは明確ではない。 このようにjs["фирма1"]["модельный_ряд1"][0][0].TODbl() このように js.group [countFirms].group [countModelRow].group [countModels].group [countModelVolume].ToDbl ()); js["firm1"]またはjs.group [counterFirms]が表示されない場合、何を出力するのか? この時点でnull 要素にアクセスされ、エラーが発生します。 Andrey Dik 2018.02.21 21:15 #109 o_o:このようなバリアントでは、存在しない要素をどうするかは明確ではない。このようにjs["фирма1"]["модельный_ряд1"][0][0].TODbl() このようにjs.group [countFirms].group [countModelRow].group [countModels].group [countModelVolume].ToDbl ());js["firm1"]またはjs.group [counterFirms]が表示されない場合、何を出力するのか?この時点でnull要素への参照となり、エラーとなる...店には棚があり、ジャンルや著者ごとに異なる棚がある。そして、店に来るかもしれないし、来ないかもしれない本(データ)がある......。 そして、新しい本が入荷するたびに棚を設計し直さなければならないのか? もちろん、そんなことはない。 このように対処する: js["фирма1"]["модельный_ряд1"][0][0].TODbl() グループ名を知る必要があり、もし受信データにグループがあっても、名前がない場合は? そして、もし....いろいろなことが起こります。 データのグループのサイズとその数をチェックするだけなら簡単だ。少なくとも一つのサイズが我々の構造体と一致しなければ、そのデータは壊れている。存在しない(あるいは空の)配列セルへのアクセスに関する問題はなく、到着したデータが正しいかどうかの不確実性もない。 また、何らかの理由でプログラムがクラッシュすることもない。 削除済み 2018.11.05 19:44 #110 これがネストされたJSONをサポートすることになっているかどうか、誰か、あるいは作者は答えてくれますか?つまり、CJAValインスタンスには、別のCJAValインスタンスであるキー'2'と'3'が含まれています。コードは実行されているようですが、シリアライズされるとキーは空白になります。 例 {"":{"sl":5270.98000000,"tp":5285.26000000,"order":2},"":{"sl":5274.80000000,"tp":5289.06000000,"order":3}} しかし {"2":{"sl":5270.98000000,"tp":5285.26000000,"order":2},"3":{"sl":5274.80000000,"tp":5289.06000000,"order":3}} 1...456789101112131415161718 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
アレイの深さは自分で作ったんだろ?
私が?- いや、僕の想像力はそこまで及ばないけど、これはいわば人生の具体例だ。
つまり、ポインタとか頭でっかちな構造とか使わずに、シンプルにできないかってことなんだ(ライブラリのコード自体は控えめに黙っておこう)。
私が?- いや、私の想像はそこまでは行かないが、これはいわば人生の具体例だ。
ポインタや頭脳的な構造がないとできないのか、という意味だ。
ポインタを使わずにどこをどうしたいんだ? 具体的に何がしたいんだ? ログの中のjsonの一部か? "お金が欲しい "ボタンか?
具体的に何が必要なのか? ログの中のjsonの一部か? "お金が欲しい "ボタンか?
そういうことだ:
CJAVal* j1=GetPointer(js.m_e[i].m_e[i1]);ライブラリのコードを知らずに、それが何なのか、なぜそれが必要なのかを推測することはできない。データへの単純なアクセスのために、ToDbl()のような関数があるはずだ。
このように「無知」なのは私だけではないようだ。
ss.例えばm_e-このちっぽけなものは何なのだろう?- これはgroupName 以外の何物でもない!もっと文字が多い?- いや、もっと明確だ。
結論:このライブラリーはとてもパワフルで不思議な働きをしてくれるが、「ドライな言語」で書かれているので、気の弱い人、看護婦さんや子供にはコードを見ない方がいい・・・。
そういうことだ:
ライブラリーのコードを知らずに、それが何なのか、なぜそれが自分の望むものを得るために行われるべきなのか、どうやって推測できるのだろう? 単純なデータ・アクセスのためにToDbl()のような関数があるはずだ。
なるほど、「無知」なのは私だけではないようだ。
ss.例えばm_e-このちっぽけなものは何なのだろう?- これはgroupName 以外の何物でもない。- いや、もっと明確だ。
結論:このライブラリーはとても強力で、不思議な働きをしてくれるが、「乾いた言語」で書かれているので、気の弱い人、看護婦さんや子供にはコードを見ない方がいい...。
他のライブラリーを試した方がいいのでは?
以前使っていたのですが、MQL5(古いバージョン)ではコンパイルできませんでした。適応させる必要がある。もしくは新しいバージョンを試すか...
http://www.lordy.co.nf/mql4/
それについてはフォーラムのどこかにありました...
---------------------
ここです...
https://www.mql5.com/en/code/11134
そういうことだ:
ライブラリーのコードを知らずに、それが何なのか、なぜそれが自分の望むものを得るために行われるべきなのか、どうやって推測できるのだろう? 単純なデータ・アクセスのためにToDbl()のような関数があるはずだ。
なるほど、「無知」なのは私だけではないようだ。
ss.例えばm_e-このちっぽけなものは何なのだろう?- これはgroupName 以外の何物でもない。- いや、もっと明確だ。
結論:このライブラリーはとても強力で、不思議な働きをしてくれるが、「ドライな言語」で書かれているので、気の弱い人、看護婦さんや子供にはコードを見ない方がいい・・・。
誰があなたにm_e配列の中に入ることを強要したのですか?
あなたがコードに何を求めているのかわからない。そして、あなたがどんなタスクを開発しているのかも知らない。
---
まず第一に、jsonはデータ転送のフォーマットであり、構造である。 もしあなたが受け取ったデータの構造を理解していないなら、それは私のクラスの問題ではなく、あなたの問題だ。データ・ソースのドキュメントを見て、そこで理解できることを探してください。
第二に、このクラスはフォーマットを扱うための基本的な機能(シリアライズ、構造の保存、便利なハンドリング)を実装している。
ある配列からデータを取得したいのであれば、便利なコードを書くだろう。
構造体全体を取得するためのループのような長ったらしいデタラメは書かない。何がなんだかわからない。
他の図書館に行った方がいい
以前使っていたのですが、MQL5(古いバージョン)ではコンパイルできませんでした。それに合わせる必要がある。もしくは新しいバージョンを試すか...
http://www.lordy.co.nf/mql4/
フォーラムのどこかにそのことが書かれていました。
---------------------
これだ
https://www.mql5.com/en/code/11134
ありがとう、でも僕はセルゲイエフのコードを完全に信頼しているよ。
もちろん、ポインタについては私がバカだった。読みにくい......フィイ、なんてこった......。
o_o:
そして、構造全体をループするような長ったらしいデタラメはない。どういうことなんだろう?
グループ名によってデータが存在しなかったり、グループが完全でなかったり、グループ名がデータになかったり、他の何かだったり...。
この方法なら簡単でわかりやすいし、常に配列のサイズを チェックできるので、構造体を埋めるのに困ることもない:
js.group [счетчикФирм].group [счетчикМодельногоРяда].group [счетчикМоделей].group [счетчикМодельВизОбъем].ToDbl ());
このようなバリアントでは、存在しない要素をどう扱うかは明確ではない。
このように
js["фирма1"]["модельный_ряд1"][0][0].TODbl()
このように
js.group [countFirms].group [countModelRow].group [countModels].group [countModelVolume].ToDbl ());
js["firm1"]またはjs.group [counterFirms]が表示されない場合、何を出力するのか?
この時点でnull 要素にアクセスされ、エラーが発生します。
このようなバリアントでは、存在しない要素をどうするかは明確ではない。
このように
js["фирма1"]["модельный_ряд1"][0][0].TODbl()
このように
js.group [countFirms].group [countModelRow].group [countModels].group [countModelVolume].ToDbl ());
js["firm1"]またはjs.group [counterFirms]が表示されない場合、何を出力するのか?
この時点でnull要素への参照となり、エラーとなる...
店には棚があり、ジャンルや著者ごとに異なる棚がある。そして、店に来るかもしれないし、来ないかもしれない本(データ)がある......。
そして、新しい本が入荷するたびに棚を設計し直さなければならないのか? もちろん、そんなことはない。
このように対処する:
js["фирма1"]["модельный_ряд1"][0][0].TODbl()
グループ名を知る必要があり、もし受信データにグループがあっても、名前がない場合は? そして、もし....いろいろなことが起こります。
データのグループのサイズとその数をチェックするだけなら簡単だ。少なくとも一つのサイズが我々の構造体と一致しなければ、そのデータは壊れている。存在しない(あるいは空の)配列セルへのアクセスに関する問題はなく、到着したデータが正しいかどうかの不確実性もない。 また、何らかの理由でプログラムがクラッシュすることもない。
これがネストされたJSONをサポートすることになっているかどうか、誰か、あるいは作者は答えてくれますか?つまり、CJAValインスタンスには、別のCJAValインスタンスであるキー'2'と'3'が含まれています。コードは実行されているようですが、シリアライズされるとキーは空白になります。
例
{"":{"sl":5270.98000000,"tp":5285.26000000,"order":2},"":{"sl":5274.80000000,"tp":5289.06000000,"order":3}}しかし
{"2":{"sl":5270.98000000,"tp":5285.26000000,"order":2},"3":{"sl":5274.80000000,"tp":5289.06000000,"order":3}}