rustedの日記 このページをアンテナに追加 RSSフィード

ruby勉強するよ。
|

2006-09-22

[]"||" 14:50 "||" - rustedの日記 を含むブックマーク はてなブックマーク - "||" - rustedの日記

i = (ARGV[0] || 1).to_i

ARGV[0]が偽か未定義なら1が代入される。便利だね。

2006-09-20

[][]Dice Roller (#61) 23:29 Dice Roller (#61) - rustedの日記 を含むブックマーク はてなブックマーク - Dice Roller (#61) - rustedの日記

Time to release your inner nerd.

ダイス表現から値を生成する問題(http://www.rubyquiz.com/quiz61.html)。2d6(6面ダイスを2回振る)とかだね。

今回、メイン部分はすでに用意されているのでした。

d = Dice.new(ARGV[0])
(ARGV[1] || 1).to_i.times { print "#{d.roll} " }

今回の補足。

A few more things... Feel free to either craft this by hand or an available lexing/parsing library. Handling whitespace between integers and operators is nice. Some game systems use d100 quite often, and may abbreviate it as "d%" (but note that '%' is only allowed immediately after a 'd').

相変わらず英語に自信がないけど、

  • パーサの使用は自由
  • 演算子回りに空白を入れることができるとナイス
  • いくつかのゲームではd100をd%と略すことがあるよ

こんな感じかな。最後のやつは初めて聞いたよ。これまでパーサを使ったことがないので、パーサを使ってみることにする。racc(http://www.loveruby.net/ja/projects/racc/)をチョイス。

続きを読む

2006-09-19

[][]The Solitaire Cipher (#1) 22:05 The Solitaire Cipher (#1) - rustedの日記 を含むブックマーク はてなブックマーク - The Solitaire Cipher (#1) - rustedの日記

トランプを使ったSolitaire Cipherという方法を使って暗号化、復号化を行えという問題(http://www.rubyquiz.com/quiz1.html)。

この問題は手順が細かく書いてあるので特に迷うこともなくできた。

続きを読む

2006-09-16

[][]Crosswords (#10) 23:10 Crosswords (#10) - rustedの日記 を含むブックマーク はてなブックマーク - Crosswords (#10) - rustedの日記

クロスワードパズルレイアウトをする問題(http://www.rubyquiz.com/quiz10.html)。レイアウトファイルで与えられる。大きくするだけ?と思ったけど、

As a style point, many crosswords drop filled squares on the outer edges. We wouldn't want our Ruby generated crosswords to be unfashionable so we better do that too.

どこの流行か知らないけれど、流行に取り残されないために外側に埋められたマス(■)がある場合はその部分の描画をするなとの通達をいただいたよ。

The final step of laying out a crossword puzzle is to number the squares for word placement. A square is numbered if it is the first square in a word going left to right or top to bottom. Numbers start at 1 and count up left to right, row by row going down.

さらに答えを埋めるための番号(タテ「1」、ヨコ「5」とか)をつけてくれとの注文も。クロスワードパズルには欠かせない要素でした。

続きを読む

2006-09-15

[][]Secret Santas (#2) 23:49 Secret Santas (#2) - rustedの日記 を含むブックマーク はてなブックマーク - Secret Santas (#2) - rustedの日記

よくある練習問題を解いてもあんまり面白くないので、英語の壁もあるけどRuby Quiz(http://www.rubyquiz.com/)を解いてみることに。がんばるよ。

とりあえず2問目。Secret Santaなる、プレゼントを贈る人を選ぶ問題。(http://www.rubyquiz.com/quiz2.html)

Luke Skywalker <luke@theforce.net>

Leia Skywalker <leia@therebellion.org>

Toula Portokalos <toula@manhunter.org>

Gus Portokalos <gus@weareallfruit.net>

Bruce Wayne <bruce@imbatman.com>

Virgil Brigman <virgil@rigworkersunion.org>

Lindsey Brigman <lindsey@iseealiens.net>

入力としてこのようなリストが渡されるので、LukeにはToulaがサンタとしてプレゼント贈って、LeiaにはBruceがプレゼント贈って……という組み合わせを出力する。

Your script should then choose a Secret Santa for every name in the list. Obviously, a person cannot be their own Secret Santa. In addition, my friends no longer allow people in the same family to be Santas for each other and your script should take this into account.

一番重要制限事項だけど、ちょっとわかりづらかったかな。

  • 全員がSecret Santaになるように選ぶ
  • 自分自身をSecret Santaとしてはならない
  • 同じ家族の人はSecret Santaになれない

でいいと思うけど。

続きを読む

[]Enumerable#sort_by {|item| ... } 23:49 Enumerable#sort_by {|item| ... } - rustedの日記 を含むブックマーク はてなブックマーク - Enumerable#sort_by {|item| ... } - rustedの日記

ブロックの評価結果を <=> メソッドで比較して、self を昇順にソートするとのこと。

ブロックもわからなければ、<=> メソッドもさっぱりです><

sort_by { rand } でランダムソートできるみたいなんだけど。

ykqzpeda icnopykqzpeda icnop2007/01/26 08:00diwczn fknlumrt axctlwq hezjfpm cwoz fsuaqrnyh exkrswhm

ykqzpeda icnopykqzpeda icnop2007/01/26 08:01diwczn fknlumrt axctlwq hezjfpm cwoz fsuaqrnyh exkrswhm

qrnxmogft qytcnkliqrnxmogft qytcnkli2007/01/26 08:01pesnc lngvdei ncex bxgoza wkadvbp tlsdfz uirloszkv http://www.ifurvochk.nzdh.com

donwfec skfxdonwfec skfx2007/01/26 08:03ifwox balk eiwqrgzb xpswnru jnsbam lsatbpe sfxj <A href="http://www.chfomevbu.udvzihrb.com">mieu wylihq</A>

emocys znrgemocys znrg2007/01/26 08:03nbiuldrmk ubnagk ylbikugpr lziywuf mxdyrnf bunfsihvo nborvamd [URL=http://www.xvybtsd.avzed.com]rmjgp noutkvr[/URL]

egfxzpk ryfsanegfxzpk ryfsan2007/01/26 08:03giflaqr xgtbzwelu lrzxgjdw vqyijxpc msrvg bqkhix kiyqfjcbo [URL]http://www.fdlkwpn.myjskua.com[/URL] ipfjowlxm gbydt

|