Rubyでその必要性は明らかだけれども名前が決まらずに承認されないメソッドというのがあって長く議論が続いているものに「単にselfを返すメソッド」というのがあるよ。 Feature #6373: public #self - ruby-trunk - Ruby Issue Tracking System ruby - Is there a short way to write {|x| x}? - Stack Overflow
block_given? -> bool[permalink][rdoc][edit] iterator? -> bool メソッドにブロックが与えられていれば真を返します。 このメソッドはカレントコンテキストにブロックが与えられているかを調べるので、メソッド内部以外で使っても単に false を返します。 iterator? は (ブロックが必ずイテレートするとはいえないので)推奨されていないので block_given? を使ってください。 例 def check if block_given? puts "Block is given." else puts "Block isn't given." end end check{} #=> Block is given. check #=> Block isn't given.
こんにちは。ikedaです。 以前ご紹介したgem Faradayの実装例で、blockを解説することがあったのですが blockを利用した書き方について触れていなかったので書いていきたいと思います。完全に小ネタです。 blockの書き方ですが、引数にblock宣言することと、yieldを利用する2通りあります。 ブロックを引数で持つ場合 class Hoge def initialize(&block) block.call end end Hoge.new do p "Hello" end # => "Hello" # => #<Hoge:0x007ff4f480cca8> Hoge.new { p "Hello" } # 上記と同じ意味です。 # => "Hello" # => #<Hoge:0x007ff4f480cca8> Hoge.new # ブロックを渡していないのでエラー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く