[openrtm-users 00933] Re: C++/PythonのSystemEditor上での現れ方について

TORII, Toyotaka tory @ jp.honda-ri.com
2009年 9月 3日 (木) 17:47:14 JST


鳥井@HRI-JPです。

栗原様、先ほどは失礼足しました。
また、大変詳細な解説をありがとうございました。

Python3.1では順序つき辞書がサポートされるようですが、
やはり需要があるのでしょうね。

些細なことにこだわらず、しばらくOpenRTMを使ってみようと思います。
今後ともよろしくお願いいたします。

At 03 Sep 2009 17:21:34 +0900 kurihara shinji wrote:
> 鳥井 様
> 
> 産総研 栗原です。
> 
> > RTSystemEditorに現れたときのOutpPort/Subscription Typeに現れる
> > タイプの順番が違うようです。、
> > この順番をC++版コンポーネントとあわせることは可能でしょうか?
> > 些細な事、というか気分の問題なので、時間のあるときにでもご教示ください。

> こちらに関しましては、Python版では、Subscriptionタイプを辞書で管理して
> おりまして、辞書からキーを取得する際にご指摘のような順序になっているよう
> です。
> 
> 具体的には、Subscriptionタイプをflush,new,periodicの順で登録しているので
> すが、辞書から取得するさいに"new,periodic,flush"のようになってしまいます。

> 
> 下記のようにする事で確認できます。
> 
> $ python
> Python 2.5.2 (r252:60911, Oct  5 2008, 19:24:49) 
> [GCC 4.3.2] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> 
> >>> m={"flush":0,"new":1,"periodic":2}
> >>> m
> {'new': 1, 'periodic': 2, 'flush': 0}
> >>> m.keys()
> ['new', 'periodic', 'flush']
> >>> 
> 
> 一応、キーのリストをlist.sort()を用いてソートする事で
"flush,new,periodic"
> にする事は可能です。
> C:\Python26\Lib\site-packages\OpenRTM_aistのGlobalFactory.pyの
getIdentifiers(self)
> 関数のreturn文の前にidllist.sort()を追加する事で"flush,new,periodic"の順
になる
> 事は確認致しました。
> 
> 他に何か良い方法をご存知の方がいらっしゃいましたらご教授頂けますと幸いで
す。
> 
> 
> 以上、宜しくお願い致します。




openrtm-users メーリングリストの案内