はじめに
移植やってます
set (Python)
_comments = set('>;')
何気ないset
ですが、
>>> print(_comments)
{'>', ';'}
中は既にスプリットされています。
set (Ruby)
require 'set'
_comments = Set.new('>;'.split(''))
二つくらいなら最初から分けておいてもいいんですけど。
intersection (Python)
x = {'is_decoy', 'remove_decoy', 'formula',
'ratio', 'correction'}.intersection(kwargs)
intersection
って集合の積なんですけど、このkwargs
って辞書型なんですよね。
よくよく見るとSet型でした。
やはり、辞書型でしたが、intersection
を呼んだとき、辞書のキーとの積を取得するようです。
& (Ruby)
x = Set.new(['is_decoy', 'remove_decoy', 'formula',
'ratio', 'correction']) & kwargs.keys
Set
とHash
の積は取れませんので、Hash#keys
を使用します。
この場合、Set.new(Array & Hash.keys)
でもSet.new(Array) & Hash.keys
でも同じSetが返るようです。
メモ
- Python の set を学習した
- 道のりは遠そう