Rubyの魔神 このページをアンテナに追加 RSSフィード

   「Ruby」は宝石の魔神のイメージ(The Jinn of the Ruby)
   [VB] [VB6] [C#] [Android] [電子工作] [個人メモ] [仕事メモ] [アイデア] [TstLink] [CE] [LTSA] [自動化] [Qt] [OCaml] [TOOLS]
   [3Dプリンタ] [RAA] [Forge]   [機能別索引] [逆引きRuby] [マニュアル] [るびま] [標準ライブラリ] [るりまサーチ] [Try! Ruby] [PRaggerまとめ] [ピジョン・ブラッド]
   [Rubyコーディング規約] [プログラミングのオキテ] [Rubyist SNS] [TOOLBIS]
   [RubyネットワークProg] [druby] [コードなにがし] [RDocテンプレ] [Ruby/Tkサンプル]
   [WAVE] [Xperia] [github] [twitterなど] [Java] [EA] [マクロ]

2008-08-01

ruby起動オプション

ruby起動オプション - Rubyの魔神 を含むブックマーク はてなブックマーク - ruby起動オプション - Rubyの魔神 ruby起動オプション - Rubyの魔神 のブックマークコメント

  • n

このフラグがセットされるとプログラム全体が sed -nやawk のように

while gets

...

end

で囲まれているように動作します.

Rubyの起動 - Rubyリファレンスマニュアル

icalendar gemが神すぎる。

icalendar gemが神すぎる。 - Rubyの魔神 を含むブックマーク はてなブックマーク - icalendar gemが神すぎる。 - Rubyの魔神 icalendar gemが神すぎる。 - Rubyの魔神 のブックマークコメント

スクリプトは以下。icalendar gemが神すぎる。が神すぎる。

[ruby

今度試してみたいです

yieldってよくわからないですね

yieldってよくわからないですね - Rubyの魔神 を含むブックマーク はてなブックマーク - yieldってよくわからないですね - Rubyの魔神 yieldってよくわからないですね - Rubyの魔神 のブックマークコメント

ブロック付きメソッド呼び出し

FAQ::ブロック付きメソッド呼び出し - Rubyリファレンスマニュアル

Ruby yieldがよくわからない

Studio H.F.F.:Ruby yieldがよくわからない

書いてみました。

numbers = [1 ,2, 3, 4, nil, 5, nil, 7]

def foo(cond)
  yield(cond) if cond
end


numbers.each do |number|
  foo(number){|x|puts x}
end

foo(number){|x|puts x}

のブロックが、foo()のyieldとして実行されます。

yield(cond)

yieldの引数はブロックの{|x|…}の変数としてブロックに渡されます。

eachが便利なのは良くわかっているのですが、どんな時にこのyieldを使うと便利なのか

まだよく分かっていません。

yieldについて質問してみました

yieldについて質問してみました - Rubyの魔神 を含むブックマーク はてなブックマーク - yieldについて質問してみました - Rubyの魔神 yieldについて質問してみました - Rubyの魔神 のブックマークコメント

Rubyのyieldを使った例を教えてください yieldをどんな時に使うと便利なのか今一つピンとこないので 「こんな時に使うと便利」というサンプルコードがあれば教えてください.. - 人力検索はてな

さっそくすごいサンプルを紹介して頂きました。

module Enumerable
  def sum
    if block_given?
      inject(0) {|s, x| s + yield(x) }
    else
      inject(0){|s, x| s + x}
    end
  end
end

ary = [1, 5, 3]
# 総和
p ary.sum            # => 9
# 二乗和
p ary.sum {|x| x*x}  # => 35

これを使うと配列に自由に独自機能を追加できそうですね^^

トラックバック - http://ruby.g.hatena.ne.jp/garyo/20080801