タグ

ブックマーク / mametter.hatenablog.com (2)

  • まめめも

    RubySlackのボットを書くには、slack-ruby-client gemやruboty gemなどを使うのが一般的だと思います。 しかし個人的には、Slackボット程度でgemを使うのは好みでないので、なるべく素のRubyだけで書くようにしています。 その方法をまとめておきます。 Slack appを登録する まず、https://api.slack.com/appsで"Create New App"して、適当に設定をします。 次のYAMLを"App Manifest"に貼ってSave Changesすると一気に設定できます。 display_information: name: Sample Slack App features: bot_user: display_name: Sample Slack App always_online: true oauth_config:

    まめめも
    ympbyc
    ympbyc 2012/09/08
  • Ruby で packrat parser - まめめも

    packrat parsing というパーサの実装方法があります。特徴は、再帰下降パーサ + 無限先読み可能 + memoize*1 という感じです。僕が下手な説明をするより、英語わからなくても Haskell わかればわかる素晴らしいスライドやPappy (reference implementation) を参照してもらったほうがいいです。 で、練習として Ruby で packrat parser を使って足し算と掛け算だけの電卓を作ってみました。 $ ruby arith.rb 1 + 2 + 3 => 6 1 + 2 * 3 => 7 1 + 2 * (3 + 4) => 15文法はこんな感じ。 式      = 空白 加算式 文字列終端 加算式    = 乗算式 ("+" 乗算式)* 乗算式    = プリミティブ ("*" プリミティブ)* プリミティブ = 数値 / "("

    Ruby で packrat parser - まめめも
  • 1