Ruby

さらに改造

ワタシのほうはあれからソースにコメントつけて、さっそく改造始めました。 まず首のとこがちらちらするバグを取って、速度計測。おー、ノーウェイトで秒間15フレーム出るのかー。 この早さだとへびの操作もままなりません。 ステージが進むとだんだん早くな…

snakyにさっそくレスが!

http://d.hatena.ne.jp/Lambda/20040721#1090337568 いや、感動なんて、オーバーな♪(←照れてるし)まさかこんなに早く反応があると思わなかったし、あるとしたら同世代だろうなと思っていたので、若い人に速攻でレスもらえたのはうれしいですね。しかし「ス…

へびゲーム

にょろにょろとがんばって、キャラはなんとなくそれらしく動き出しました。 まだ当り判定ないから、ゲームじゃないですが(笑)

へびゲーム動く

できました(笑) http://64.125.251.96/prog/snaky.rbコマンドラインから > ruby snaky.rb と打つと動きます*1。 カーソルキーでへび(Θ◆◆◆)を動かします。 かたつむり(@)食い放題。 一匹食べるごとに体が伸びます。 かたつむりに胴体をかじられるとゲー…

gsubのマッチ部分を引数にしたい

文字列の中に埋め込まれた引数を取り出して何かのメソッドを呼び、その結果で文字列を置換します。具体例として、テキスト中の ## call [1,2,3]## と書いてある部分から、[1,2,3]の部分を取り出し、文字列ではなく配列としてcallメソッドに渡します。 悪い例…

安定(stable)なソート

sortでは、イコールになる要素同士の順番が崩れる(=安定ではない)。安定なソートには、sort_byを利用する。 i = 0 ary.sort_by {|v| [v, i += 1]} とりあえずイディオムとして。 これの意味がわかったら立派なrubyistになれるかな。

%で始まる行の、%以外の文字を取得したい

変数$'に、マッチした部分より「後ろ」の値が入っている。 if ~/^%/ print $' ちなみにマッチより前は$`、マッチそのものは$&。「`&'」と覚えよう。

getsの結果を正規表現で判定したい

ただリテラルを書くと警告が出るので、頭に~(単項演算子)をつける。 if ~/^$/ print "空行"

配列の4番目に要素を挿入する

retu[4,0]=youso 配列のn番目から0個の要素を右辺で置き換える。 yousoは配列でも可。

文字列の2文字目から最後までを取り出す

toru=moji[1..-1] 「-1」が文字列の最後を示している。こういうのは調べればすぐわかることなんだけど、なれないとコードを見てもわかりにくい。