PYパターンマッチング

Pythonのデータ構造パターンマッチングと解凍
今すぐダウンロード

PYパターンマッチング ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • MIT/X Consortium Lic...
  • 価格:
  • FREE
  • 出版社名:
  • Erik Allik
  • 出版社のWebサイト:
  • https://github.com/eallik/

PYパターンマッチング タグ


PYパターンマッチング 説明

PY-PATTERS-MATCHINGINGは、Python.UsageCallの2つの引数を持つPATTERSMATCHING.MATCH()関数のデータ構造パターンマッチングと解凍です。平坦化された値を平坦化した、つまり、一致したデータの構造に関係なく平らなタプルとして返されます.Leturn値:flattenが真の場合:match_ok、 flatten:match_ok、matched_data_structureCaveat:パターン内のすべての一致値が無視された場合、match()はタプルを返しますが、boolean.yes:match_ok = match(パターン、データ)いいえ:match_ok、= match(パターン、データ)組み込みの一致オブジェクト - any-is_instanceAnceAthオブジェクトは、返された値で一致するオブジェクトによって一致する値を無視するためにignore()でラップできます.ignore自体は無視(any).assert trueのショートカットとして使用できます。 ==(無視、123)の使用法(単位)テスト(ただし)他の場所では、==演算子を単純に使用できない場合は、関数の戻り値を比較することが面倒です。たとえば、関数がタプルを返し、タプル全体ではなくタプルの一部を気にするだけで、RETVAL = some_function_under_test()RetvalとIsInstance(Retval、Tuple)とLen(Retval)== 3とRetvalの一部の一部についてのみ注意してください。 0] == 'foo' とisInstance(Retval 、Tuple)とLen(Retval )== 2 とISINSTANCE(Retval 、Somexception)パターンマッチング:RETVAL = some_function_under_test ()Retval ==( 'foo'、(any、is_instance(somexception))、any)match okmatch_ok、value = match(any、 'foobar')アサートmatch_okとvalue == 'foobar'match_ok = match(ignore(無視( any)、 'foobar')a smatt_okmatch_ok、value1、value2の一致(( 'foo'、 'bar'))アサートmatch_okとvalue1 == 'foo'とvalue2 == 'bar'match_okのアサート2 ==' bar'match_ok、( value1、value2)= match(( 'foo'、 'bar')、flatten = false)Assert match_okとvalue1 == 'foo'とvalue2 == 'bar'match_ok、(value1、)=一致((any、ignore(any))、( 'foo'、 'whatev'))アサートmatch_okとvalue1 == 'foo'match_ok、value1、value2 = match((' foo '、 any、( 'foo'、1,2))アサートmatch_okとvalue1 == 1とvalue2 == 2match_ok、value1、value2、value3 = match(( 'foo'、any、any、any)) ( 'foo'、1、(2,3))アサートmatch_okとvalue1 == 1とvalue2 = = 2とvalue3 = 3match_ok、(value1、(value2、value3))= match(( 'foo'、any、 ( 'foo'、1、(2,3))、flatten = false)アサートmatch_okとvalue1 == 1とvalue2 == 2とvalue3 = 3no matchmatch_ok = match(3,4)アサートmatch_ok#なおさられた値を正常に行い、match failematch_ok、match failematch_ok、value = match(is_instance(Unicode)、 '123132')がmatch_ok#に注意してください。 retunt値の値と、match failedmatch_ok(value1、(value2、value3))= match(( 'foo'、(any、(any、)))、( 'not-foo') 1、(2,3)))match_ok#...が完全にmismatchsmatch_ok(value1、(value2、value3))= match(( 'foo'、(any、) any)))、( 'foo'、 'bla bla '))match_ok#... `value1`、` value2`と `value3`に頼らないだろう - ` NONE`が `` `` `` none`である - それがそれがそこに欲しいものはまだ戻ることができます。あなたは自分の `match_ok`をチェックしなければなりません。製品のホームページ


PYパターンマッチング 関連ソフトウェア