• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

せっかくアカウントをとったので、テストがてらプログラムを載せてみる。

お題は、どう書く.orgにあった、一番最近の問題で。

問題の内容は、
どう書く.org - LL Golf Hole 3 - 13日の金曜日を数え上げるを参照のこと。

ruby>>
require 'date'

from = DateTime.now
to = DateTime.parse("2013-12-31")

puts (from..to).find_all{|d| d.wday==5 and d.mday==13}.size
<<ruby

こんな感じになりました。

コードがちゃんとハイライトされてる!
s21g blogすごくイイ!!

こんな便利なブログサービスを提供してくれている瀧内さんに感謝、感謝です。

posted by y_tsuda y_tsuda on Thu 7 Aug 2008 at 11:07 with 3 comments
瀧内元気 瀧内元気 08/07 19:32
どうもですー。

ruby>>
from.upto(to)
<<--

はruby-1.8.7でもEnumratorを返してくれないことに気がついた。
Yu Tsuda Yu Tsuda 08/08 12:50
どうもですー。

ruby-1.8.6なら、date.rb(僕の環境では/usr/lib/ruby/1.8/date.rb)を直接編集したら、Enumratorを返すようになりますね。

/usr/lib/ruby/1.8/date.rb 1300行目くらい
ruby>>
# require 'enumerator'

# Step the current date forward +step+ days at a
# time (or backward, if +step+ is negative) until
# we reach +limit+ (inclusive), yielding the resultant
# date at each step.
def step(limit, step=1) # :yield: date
=begin
unless block_given?
return to_enum(:step, limit, step)
end
=end
da = self
op = %w(- <= >=)[step <=> 0]
while da.__send__(op, limit)
yield da
da += step
end
self
end
<<ruby



ruby>>
require 'enumerator'

# Step the current date forward +step+ days at a
# time (or backward, if +step+ is negative) until
# we reach +limit+ (inclusive), yielding the resultant
# date at each step.
def step(limit, step=1) # :yield: date
#=begin
unless block_given?
return to_enum(:step, limit, step)
end
#=end
da = self
op = %w(- <= >=)[step <=> 0]
while da.__send__(op, limit)
yield da
da += step
end
self
end
<<ruby
です。

こんな感じでEnumratorを返してくれます。

ruby>>
from.upto(to)
#=> #<Enumerable::Enumerator:0x7f816d87ae88>
<<ruby

コメントアウトしてるだけってことは、いつかはこのコメントが外れるときがくるんですかね?
瀧内元気 瀧内元気 08/09 04:39
おお確かに。

ソース見たらいろいろ=begin =endでコメントアウトされてることろがありますねー。
面白い。
Contents rssrss
Xperiaにインストールして1週間生き残ったアプリたち
gem serverをIE8から見るとヒドイことになる現象を解決
gem serverをIE8から見るとヒドイことに
Twitter, Account Suspended
GentooにRuby1.9をインストールした
GentooにScalaをインストールしてみた
多面ディスプレイ環境を手作りしてみた
lower-camel caseな文字列とアンダースコア区切りな文字列の相互変換をRubyで
topコマンドでのCPUコア毎の表示
Fedora11 (on VirtualBox) 速効レビュー
Tags
rubyGentooDIYFedoralinuxmemoScalatwitterunixvirtualboxweb
Comments rssrss
Aleksey Aleksey: The uname check is only due to a somewhat sloppy t... 02/02 07:03
Yu Tsuda Yu Tsuda: あぁ、そうですね、、syncすると戻ってしまいますね・・・。 ご指摘ありがとうございます!! 07/11 15:38
ursm ursm: /usr/portage 以下のファイルは更新のたび元に戻ってしまうので、/etc/portage/... 07/11 13:46
Yu Tsuda Yu Tsuda: 見た目だけでも、わざわざGentooをこういうリストに入れてるのがすごいなぁと思ったりしたのです(笑... 03/31 19:49
Leonard Chin (レオ) Leonard Chin (レオ): ただし、VirtualBoxで「Gentoo」などを選択しても、別にどのOSを入れても大丈夫だ。あく... 03/31 13:00
Yu Tsuda Yu Tsuda: この機能、結構便利なんですよねー。 またEmacsで便利な機能を見つけたらブログに書きまーす。 11/27 23:46
Services from s21g
YOMU Web小説リーダー
Web小説を音声で楽しむ読み上げリーダー
補助探
公開されている補助金・助成金情報を集約し、条件に合う制度を探しやすくするサービスです。
jotter.me
個人開発者のためのホスティング一体型ノートサービス
ハンドミラー
iPhone向けの手鏡アプリ
ツイプロ(twpro)
Twitterプロフィールの高速検索エンジン