31 Mar '12, 6am

競技プログラミングの件、こういう文章書いたひとが、今になってイヤイヤしてるのおかしい、とツッコミをいただきました

あなたが作ったメソッドの名前を仮に cmaxlen(i, j) とした require 'runit/testcase' require 'runit/cui/testrunner' require 'benchmark' include Benchmark class TestUnit < RUNIT::TestCase def setup # for test 1. c = 10 tw = 100 @tiny_data = (1..c).map { s = rand(1000) [s, s + tw] } # for test 2. limit = 10000 @huge_data = [[rand(100), limit]] @time_limit = 1 end # test1. 正確さ def bf_cmaxlen(i, j) # brute forcing method i, j = j, i if i > j (i..j).map { |n| collatz_len(n) }.max # collatz_len は既出 end def test_acculacy @tiny_data.map { |i, j| assert_equal(cmaxlen(i, j), bf_cmaxlen(i, j)) } end # test2. 速さ def test_efficiency t = realtime do @huge_data.map { |i, j| cmaxlen(i, j) } end assert(t < @time_limit, 'TIMEOUT!') end end # Unit Test の実行 RUNIT::CUI::TestRunner.run(TestUnit.suite)

Full article: http://jp.rubyist.net/magazine/?0003-uva

Tweets

Rubyist Magazine - るびま

jp.rubyist.net 30 Mar '12, 2am

『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。

「Rubyist Magazine」 Rubyコミュニティの有志が定期的にパブリッシュしている...

jp.rubyist.net 25 Mar '12, 1pm

書いた人:るびま編集長 高橋征義 編集長からの 0036 号発行の挨拶です。(難易度:高) Ruby の歩き方 Ruby をはじめるにあたって必要な情報をご紹介します。本稿は Rubyist Magazine 常設記事です。(難易度:低) Si...

今からちゃんとやろ。 : Rubyist Magazine - 海外記事翻訳シリーズ 【第 1...

jp.rubyist.net 28 Mar '12, 1pm

RSpec ベストプラクティス RSpec は、振舞駆動の設計プロセス (behaviour driven design process) において、人間にとって読みやすい仕様を書くための優れたツールです。RSpec で書かれた仕様が、アプリケ...

これ7年前のMatzか、若い……。みてるなう: Rubyist Magazine - Ruby...

jp.rubyist.net 20 Mar '12, 4am

Rubyist Hotlinks は、毎号、著名な Rubyist にインタビューを行っていこう、という企画です。 栄えある第一回のインタビュイーは、もちろんこの方、Ruby の父、まつもとゆきひろさんにお願いしました。 まつもとさんのインタビ...