[#46340] ASR 1.8.7 同梱の exerb で生成したプログラムが enumerator を見つけられない — "(株)ネットフォレスト 植田裕之" <ueda@...>
植田と申します。
10 messages
2009/09/01
[#46344] Re: ASR 1.8.7 同梱の exerb で生成したプログラムが enumerator を見つけられない
— arton <artonx@...>
2009/09/01
artonです。
[#46345] Re: ASR 1.8.7 同梱の exerb で生成したプログラムが enumerator を見つけられない
— "NARUSE, Yui" <naruse@...>
2009/09/01
成瀬です。
[#46346] Re: ASR 1.8.7 同梱の exerb で生成したプログラムが enumerator を見つけられない
— "(株)ネットフォレスト 植田裕之" <ueda@...>
2009/09/02
植田です。こんにちは。
[#46347] requireが失敗することについて — 北村寛 <kitayuta@...>
北村と申します。最近Rubyを始めた初心者です。
6 messages
2009/09/02
[#46378] 最も低コストの方法は? — 大田黒俊夫 <toshio.otaguro@...>
質問です.
8 messages
2009/09/11
[#46380] Re: 最も低コストの方法は?
— rubikitch@...
2009/09/11
From: 大田黒俊夫 <toshio.otaguro@gmail.com>
[#46386] Rubyの演習問題 — "Tetsuya Kamisawa" <kami@...2000.net>
はじめて投稿させていただきます、神沢と申します。
6 messages
2009/09/12
[#46403] moodle と連携した eラーニング教材開発について — "Hideo Konami" <konami@...>
京都女子大の小波です。
3 messages
2009/09/21
[#46408] html→csv変換|tableのセル結合に対応したものは? — YOSHIIZUMI <t-yoshiizumi@...>
吉泉といいます。
7 messages
2009/09/23
[#46410] 再送;;ruby1.8.7と1.9.2の文字処理について — eiichi_maekawa@...
6 messages
2009/09/24
[#46426] DateTime#to_time — "T.Soejima" <clev@...2.so-net.ne.jp>
相変わらず ruby 勉強中のそえじまです。
11 messages
2009/09/30
[#46427] Re: DateTime#to_time
— "NARUSE, Yui" <naruse@...>
2009/09/30
成瀬です。
[#46429] Re: DateTime#to_time
— "T.Soejima" <clev@...2.so-net.ne.jp>
2009/09/30
成瀬さん、ありがとうございます。
[ruby-list:46397] Re: 高階関数的なメソッドの使い方について
From:
rubikitch@...
Date:
2009-09-16 14:30:09 UTC
List:
ruby-list #46397
From: ツムジ <the.little.schemer@gmail.com>
Subject: [ruby-list:46396] 高階関数的なメソッドの使い方について
Date: Wed, 16 Sep 2009 23:10:19 +0900
るびきちです。
> もともと func[0], func[1], func[2] はブロックをオブジェクト化したもので
> した。それをまたブロックで包んで使用するのは、ちょっとすっきりしない気
> がします。でも、"lambda" を使うにはブロックの形でメソッドを渡す必要があ
> るので、今回はこの形にしました。
>
> 今回私がとった方法以外に、高階関数のようにメソッドをうまく使う方法はな
> いのでしょうか?
Object#__send__を使えばシンボルで指定したメソッドを呼び出すことができます。
# -*- coding: euc-jp -*-
class Integer
def triangle # 三角数
return (self + 1) * self / 2
end
def square # 四角数
return self * self
end
def pentagon # 五角数
return (3 * self * self - self) / 2
end
end
func = [ :triangle, :square, :pentagon]
a = Array.new
3.times do |i|
a[i] = Array.new
1.upto(1/0.0) do |j|
n = j.__send__(func[i])
break if n > 100
a[i].push(n)
end
a
# => [[1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91]]
# , [[1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91], [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]]
# , [[1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91], [1, 4, 9, 16, 25, 36, 49, 64, 81, 100], [1, 5, 12, 22, 35, 51, 70, 92]]
end
--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/
Twit: http://twitter.com/rubikitch/
『Ruby逆引きハンドブック』 http://d.hatena.ne.jp/rubikitch/20090525/rubybook