逆引きRuby - (2008/06/26 (木) 00:50:17) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
団員専用の逆引きRuby。というかただのメモ。
# contents
***現在時刻を秒+ミリ秒で取得する
>puts Time.now.to_f
ちなみに、PHPだと、
>function microtime_float()
>{
>list($usec, $sec) = explode(" ", microtime());
>return ((float)$usec + (float)$sec);
>}
みたいになるそうです。
Rubyって楽ですね。
[[出展>http://q.hatena.ne.jp/1190084277]]
***条件に合致する要素を配列から取り除く
>配列.reject!{|要素| 条件式}
条件式で要素を評価することができます。
要するに、配列の要素1個1個を評価したときに、trueになる要素を配列から削除するんですよ姉さん。
例)
配列には0以上の整数(Fixnum)が8個格納されています。
そのうち5以上のものを取り除きます。
#highlight(ruby){{
ary = [1,3,4,5,2,10,8,20]
ary.reject!{|ele| ele >= 5}
p ary # => [1, 3, 4, 2]}}
reject!を使わずに書くとこんな感じかな?
#highlight(ruby){{
ary = [1,3,4,5,2,10,8,20]
is_end = false
while (not is_end)
for i in 0..ary.size-1
if ary[i] >= 5
ary.delete_at(i)
break
else
if ary.size-1 == i
is_end = true
end
end
end
end
p ary #=> [1,3,4,2]}}
もっとうまいやり方思いついた人いたら教えてね。
あと、C言語バージョン書ける人いたらお待ちしてます。
団員専用の逆引きRuby。というかただのメモ。
#contents
***現在時刻を秒+ミリ秒で取得する
>puts Time.now.to_f
ちなみに、PHPだと、
>function microtime_float()
>{
>list($usec, $sec) = explode(" ", microtime());
>return ((float)$usec + (float)$sec);
>}
みたいになるそうです。
Rubyって楽ですね。
[[出展>http://q.hatena.ne.jp/1190084277]]
***条件に合致する要素を配列から取り除く
>配列.reject!{|要素| 条件式}
>配列.delete_if{|要素| 条件式}
条件式で要素を評価することができます。
要するに、配列の要素1個1個を評価したときに、trueになる要素を配列から削除するんですよ姉さん。
例)
配列には0以上の整数(Fixnum)が8個格納されています。
そのうち5以上のものを取り除きます。
#highlight(ruby){{
ary = [1,3,4,5,2,10,8,20]
ary.reject!{|ele| ele >= 5}
p ary # => [1, 3, 4, 2]}}
reject!やdelete_ifを使わずに書くとこんな感じかな?
#highlight(ruby){{
ary = [1,3,4,5,2,10,8,20]
is_end = false
while (not is_end)
for i in 0..ary.size-1
if ary[i] >= 5 #ここが条件
ary.delete_at(i)
break
else
if ary.size-1 == i
is_end = true
end
end
end
end
p ary #=> [1,3,4,2]}}
もっとうまいやり方思いついた人いたら教えてね。
あと、C言語バージョン書ける人いたらお待ちしてます。
***Rubyからニコニコ動画を利用する
[[ニコニコ動画ダウンロードAPI for ruby>>http://d.hatena.ne.jp/emergent/20080107/1199633782]]
total
&counter()
today
&counter(today)
yesterday
&counter(yesterday)
表示オプション
横に並べて表示:
変化行の前後のみ表示: