タグ

ブックマーク / melborne.github.io (3)

  • Ruby de Streem

    のっぴきならない事情で暫くここを離れてたけど 戻ってきたらMatzが新言語を作ってた 僕がいないうちにRubyは捨てられてしまったの? 僕が暫く目を離しているうちに世の中もMatzも変わってしまって もうだれもRubyを愛さなくなってしまったの? matz/streem Streem - stream based concurrent scripting language Streem is a concurrent scripting language based on a programming model similar to shell, with influences from Ruby, Erlang and other functional programming languages. In Streem, a simple cat program looks like th

    theatrical
    theatrical 2014/12/15
    " でも 心配いらないよ、Ruby もう僕が戻ってきたんだから 僕はここにいるよ " これはかっこいいわ。
  • Rubyでパイプライン?

    AngularJSというものを眺めていたらその中にビューテンプレートなどで使えるフィルターという概念がでてきて、あーこれLiquidにもあったけどUNIXのパイプラインみたいで面白いなあRubyでできないかなあ、ということでちょっと試してみましたという内容の投稿です。 まあ、メソッドチェーンでいいよ、って話で終わりなんですが。 AngulraJSのFilterというのはビューテンプレートの中で、 {{ 12 | currency }} のようにすると、12がcurrencyフィルタを通って$12.00が出力されるといった代物です。 {{ expression | filter1 | filter2 | filter3 }} のように複数のフィルタを順次適用することもできます。まさにパイプですね。 Rubyでパイプ? でこんな感じのものをRubyで書いてみました。

    theatrical
    theatrical 2014/03/07
    おしゃれ/ ちなみにrubyっぽいerlangことelixirにも似たような演算子 |> がある。Some List |> function1 |> function2 みたいな使い方をする。
  • TapがRubyの新たな制御構造の世界を開く

    Object#tapはそのブロックの評価結果を捨てるという風変わりなメソッドです。これは主としてメソッドチェーンにおける途中経過を覗き見るために使われます。 "charlie".upcase.tap{ |s| p s } # => "CHARLIE" .reverse.tap{ |s| p s } # => "EILRAHC" .gsub(/[aeiou]/i,'*') # => "**LR*HC" tapの副作用を使う もっとも、その評価結果を捨てるというユニークな特徴をうまく使えば、もっと面白いことができます。 例えば、ある変数の値を取得した上でその変数の値をリセットしたい場合を考えます。通常は次のように実装するのでしょう。

    theatrical
    theatrical 2012/10/30
    使いたいけど、仕事で書いたら怒られそうな気がしなくもない。
  • 1