Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CLI Tool開発のためのRust

niboshi
March 01, 2017

CLI Tool開発のためのRust

2017/03/01 "RustのLT会! Rust入門者の集い #2"で使った資料です。

niboshi

March 01, 2017
Tweet

Other Decks in Programming

Transcript

  1. Option parserͷબ୒ࢶ • clap-rs(˒947) • ࡉ੍͔͍ޚ͕Մೳ • getopts(˒49) • Rustެࣜ

    • ϛχϚϧͳ࢓༷ • docopt.rs(˒452) • cargo͕࠾༻ • ϔϧϓϝοηʔδ͔ΒࣗಈͰparser͕ੜ੒͞ΕΔ
  2. query parserͷબ୒ࢶ • nikomatsakis/lalrpop(˒371) • ಠࣗߏจ • Ұ෦ͷsyntax͕௨Βͳ͍ͳͲɺ·ͩൃలத • kevinmehall/rust-peg(˒342)

    • ಠࣗߏจ • Geal/nom(˒1212) • parser combinator • byte୯ҐͰͷॲཧ͕Մೳ • RustͷϚΫϩͱͯ͠ఆ͍ٛͯ͘͠
  3. ·ͱΊ • CLI͋Μ·ؔ܎ͳ͔ͬͨ • ཉ͍͠ͱࢥͬͨϥΠϒϥϦ͸͍͍ͩͨ͋Δײ͡ • Rustͷײ૝ • Pattern match΍ॆ࣮ͨ͠IteratorͷAdapter/Consumer

    ͕͋ͬͯॻָ͍͍ͯͯ͠ • ͱʹ͔͘ίϯύΠϧ͕௨Βͳ͍ • ϝιουʹ੾Γग़͚ͨͩ͠ͰΤϥʔ • ͱΓ͋͑ͣclone()࿈ଧ… • ࠓ·Ͱҙࣝͯ͠ͳ͔ͬͨΦʔόϔουΛҙࣝͤ͟ΔΛ ಘͳͯ͘ྑ͍ͷ͔΋