タグ

Rubyに関するnaqtnのブックマーク (6)

  • 知って得する!55のRubyのトリビアな記法

    Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt

  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新記事 次号にまとめられます。 Kaigi on Rails 2025 開催レポート mruby Girls Matsue 1st 開催レポート 書籍紹介『シンプリシティ―持続可能かつ人間的で効果的なソフトウェア開発』 RegionalRubyKaigi レポート (93) ながらRuby会議01 RegionalRubyKaigi レポート (92) 北陸 Ruby 会議 01 レポート RegionalRubyKaigi レポート (91) Toky

    naqtn
    naqtn 2015/10/28
  • Proc#call vs. yield - ruby trunk changes

    ご存知の通り Ruby では仮引数の最後に '&' を前置した「ブロック引数」を宣言することで、メソッドに渡されるブロックをProcオブジェクトとして受け取ることができます。つまりメソッドに渡されたブロックを呼ぶ方法には2通りあります。 def m1 yield :m1 end def m2(&block) block.call(:m2) end m1{|a| p a } # => :m1 m2{|a| p a } # => :m2 この2通りのブロック呼び出しの違いについて触れた記事もいくらかあります。*1 *2 主にブロックが渡されていない時のエラーメッセージが違うなどの挙動の違いについて触れられていますが、この文章では両者のYARVでの実装上の差異とパフォーマンスの違いについて書きます。 最初に結論を "可能なら Proc#call ではなく yield を使おう" 「可能なら」とい

    Proc#call vs. yield - ruby trunk changes
    naqtn
    naqtn 2015/09/12
  • Symbol GC

    This document summarizes Narihiro Nakamura's presentation on symbol garbage collection in Ruby. It describes the problem that symbols are currently uncollectable in Ruby and outlines an idea to make symbols collectable by differentiating between immortal symbols and mortal symbols. Immortal symbols would refer to symbols used in the C layer like method names, while mortal symbols like those genera

    Symbol GC
  • 実行中のRubyプログラム中で自分自身を動かしているrubyのパスを取得する - たごもりすメモ

    何が嬉しいんだそれって言われると、うーん、rbenv/rvmなんかの影響を無理矢理外すために環境変数とかをいじった上で自分自身を起動しなおしたかったからんだけど、あっやめて石を投げないで、そんなマイナーケース知るかって、あっ、 RbConfig モジュール 要するに RbConfig.ruby を呼べばすべて解決! http://docs.ruby-lang.org/ja/2.0.0/class/RbConfig.html#S_RUBY require 'rbconfig' RbConfig.ruby #=> "/Users/tagomoris/.rbenv/versions/jruby-1.7.8/bin/jruby" # とか @KitaitiMakoto さんに教えてもらいました。ありがとうございます! ボツ案 psして結果をパースする したくない。あとjrubyだとプロセス名自体は

    実行中のRubyプログラム中で自分自身を動かしているrubyのパスを取得する - たごもりすメモ
    naqtn
    naqtn 2014/03/09
    探し物メモ。Rubyプログラムを動作検証するMakefileをRakeに乗り換えようとして探してた。(環境共有しないよう別VMにしたかった)
  • Rubyの魔術 数々の“スペル”で高度なプログラミング − @IT

    2010/09/13 元JavaプログラマのPaolo Perrotta氏は、Rubyを使い始めた頃のことを振り返り、こう話す。 「私はJavaの世界からRubyに来た当初、とてもハッピーなプログラマでした。Rubyっていいね、かっこいいじゃん! と。ところが、最先端のイケてるライブラリの中を覗いてみたら、分からないところだらけだったんです……」。 RubyKaigi2010で「A Metaprogramming Spell Book」(あるメタプログラミング魔術の書)と題した講演を行ったイタリア人プログラマのPerrotta氏は、Ruby on Railsのソースコードを覗いてみたときの驚きをこう表現する。 「例えばalias_method_chainというメソッドは、一体どこにあるんだと探しました。どこにあるか分からないんです。こんなことJavaではあり得ません。結局、テキスト検索で発

  • 1