• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
2013 02-23 Kansai.pm #15 LT
 

2013 02-23 Kansai.pm #15 LT

on

  • 905 views

 

Statistics

Views

Total Views
905
Views on SlideShare
467
Embed Views
438

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 438

http://blog.iss.ms 437
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    2013 02-23 Kansai.pm #15 LT 2013 02-23 Kansai.pm #15 LT Presentation Transcript

    • 「範囲表記」な整数を 配列で扱う 2013-02-23 Kansai.pm #15 岩田 享 / issm
    • アジェンダ自己紹介背景Array::RangedIntSYNOPSISまとめ 2013-02-23 Kansai.pm #15
    • アジェンダ自己紹介背景Array::RangedIntSYNOPSISまとめ 2013-02-23 Kansai.pm #15
    • おまえだれよ?岩田 享 / issm(いわた)http://blog.iss.ms/@issm, qr/issmx{,2}/Perl / CoffeeScript / 自転車 嗜む程度に個人事業 とある「商品」を販売 → 発注 → 発送管理 などするためのシステムを開発するなど 2013-02-23 Kansai.pm #15
    • 名古屋の方からきました(Nagoya.pm というものも存在しているらしいですよ) 2013-02-23 Kansai.pm #15
    • アジェンダ自己紹介Textile記法Text::Textile拡張性について応用まとめ 2013-02-23 Kansai.pm #15
    • 本題 2013-02-23 Kansai.pm #15
    • アジェンダ自己紹介背景Array::RangedIntSYNOPSISまとめ 2013-02-23 Kansai.pm #15
    • アジェンダ自己紹介背景Array::RangedIntSYNOPSISまとめ 2013-02-23 Kansai.pm #15
    • Array::RangedInt 2013-02-23 Kansai.pm #15
    • とあるアプリケーションで何番が選択されているかを保持選択されている番号のボタンをアクティヴに 2013-02-23 Kansai.pm #15
    • Array::RangedInt 2013-02-23 Kansai.pm #15
    • とあるアプリケーションでカテゴリに属するすべての番号が選択→「このカテゴリのすべてを選択」ボタンをアクティヴに 2013-02-23 Kansai.pm #15
    • Array::RangedInt 2013-02-23 Kansai.pm #15
    • とあるアプリケーションで商品の選択解除でボタンを非アクティヴに→「このカテゴリのすべてを選択」ボタンを非アクティヴに 2013-02-23 Kansai.pm #15
    • Array::RangedInt 2013-02-23 Kansai.pm #15
    • とあるアプリケーションで単品ごとの「選択」ボタンと「すべてを選択」ボタンとの整合性確保が必要 リスト・ハッシュでがんばろうとしたけど, カオス発生 「整数の範囲」を扱いたい 2013-02-23 Kansai.pm #15
    • そのへんをなんとかするモジュールを書いてみた 2013-02-23 Kansai.pm #15
    • アジェンダ自己紹介背景Array::RangedIntSYNOPSISまとめ 2013-02-23 Kansai.pm #15
    • アジェンダ自己紹介背景Array::RangedIntSYNOPSISまとめ 2013-02-23 Kansai.pm #15
    • Array::RangedInthttps://github.com/issm/p5-Array-RangedInt「『範囲表記』な整数」を要素にもち,ごにょごにょするためのモジュール要素の例 1 2-5 -5:-2 ( -5--2 でも可) 2013-02-23 Kansai.pm #15
    • Array::RangedInt隣接する整数群は「範囲」としてまとめられる (1, 2, 3, 4, 6, 8, 9, 10) -> (‘1-4’, 6, ’8-10’)「範囲」を扱う特性上... 必ず順序付けされている 重複した値を持たない 2013-02-23 Kansai.pm #15
    • アジェンダ自己紹介背景Array::RangedIntSYNOPSISまとめ 2013-02-23 Kansai.pm #15
    • アジェンダ自己紹介背景Array::RangedIntSYNOPSISまとめ 2013-02-23 Kansai.pm #15
    • コンストラクタ ->new( @args ) / ->parse( $text )$ari = Array::RangedInt->new( 1, 3, ‘5-10’ )$ari = Array::RangedInt->parse( ‘1,3,5-10’ ) 1, 3, 5-10 2013-02-23 Kansai.pm #15
    • 要素を追加する ->add(@args)$ari->add( 2, 15, ’21-25’ ) 1, 2, 3, 5-10, 15, 21-25 2013-02-23 Kansai.pm #15
    • 要素を追加する ->add(@args)$ari->add( 2, 15, ’21-25’ ) 1, 2, 3, 5-10, 15, 21-25 1-3, 5-10, 15, 21-25 2013-02-23 Kansai.pm #15
    • 要素を削除する ->remove(@args)$ari->remove( 3, 8, ‘18-22’ ) 1-3, 5-10, 15, 21-25 3 8 18-20,21-22 2013-02-23 Kansai.pm #15
    • 要素を削除する ->remove(@args)$ari->remove( 3, 8, ‘18-22’ ) 1-3, 5-10, 15, 21-25 3 8 18-20,21-22 1-2, 5-7, 9-10, 15, 23-25 2013-02-23 Kansai.pm #15
    • shift! ->shift()$ari->shift() 1-2, 5-7, 9-10, 15, 23-25 2013-02-23 Kansai.pm #15
    • shift! ->shift()$ari->shift() 1-2, 5-7, 9-10, 15, 23-25 got: 1 2, 5-7, 9-10, 15, 23-25 2013-02-23 Kansai.pm #15
    • pop! ->pop()$ari->pop() 2, 5-7, 9-10, 15, 23-25 2013-02-23 Kansai.pm #15
    • pop! ->pop()$ari->pop() 2, 5-7, 9-10, 15, 23-25 got: 25 2, 5-7, 9-10, 15, 23-24 2013-02-23 Kansai.pm #15
    • 含んでいる? ->includes( @args )$ari->includes( 2 ) # 1$ari->includes( 2, 5, 7 ) # 1$ari->includes( 2, 3, 4 ) # 0$ari->includes( ‘5-7’, ’23-24’ ) # 1$ari->includes( ‘5-7’, ’20-25’ ) # 0 2, 5-7, 9-10, 15, 23-24 2013-02-23 Kansai.pm #15
    • 配列のサイズを取得する ->size()$ari->size() # 9 2, 5-7, 9-10, 15, 23-24 1 3 2 1 2 2013-02-23 Kansai.pm #15
    • 文字列として ->stringify()$ari->stringify() ’2,5-7,9-10,15,23-24’ 2013-02-23 Kansai.pm #15
    • 配列として ->dump()my @a = $ari->dump() # as arraymy $a = $ari->dump() # as arrayref ( 2, 5 .. 7, 9 .. 10, 15, 23 .. 24 ) or [ 2, 5 .. 7, 9 .. 10, 15, 23 .. 24 ] 2013-02-23 Kansai.pm #15
    • アジェンダ自己紹介背景Array::RangedIntSYNOPSISまとめ 2013-02-23 Kansai.pm #15
    • アジェンダ自己紹介背景Array::RangedIntSYNOPSISまとめ 2013-02-23 Kansai.pm #15
    • まとめArray::RangedInt ってモジュールを書いた 「範囲表記」な整数をそのまま扱う 範囲をともなう整数の集合の扱いを多少ラ クに とても素直なコーディング 工夫の余地大ありTODO overload 使ってより配列っぽくできる? メモリサイズや速度の比較とか 2013-02-23 Kansai.pm #15
    • ご静聴ありがとうございました!https://github.com/issm/p5-Array-RangedInt 2013-02-23 Kansai.pm #15
    • Q? 2013-02-23 Kansai.pm #15