.rb

slightly more ubiquitous

keyconfig FireGestures MozRepl + Ruby http://gist.github.com/160204 MozRepl + xyzzy http://gist.github.com/186012 Ubiquity#preview() は 0.5.5 から。 Firefox を前面に持ってくる方法が判らず,minimize();restore();focus() は苦肉の策。

subscribe-locally

http://gist.github.com/75179ローカルファイルを直接登録。Command Editor から Save to file するのが面倒になり作成。 おまけ http://gist.github.com/75157win + 1.9.x 限定。

qsort

using System; def qsort(a : list[IComparable]){ | [] => [] | _ => def g = n => a.Filter(x => x.CompareTo(a.Head) == n); qsort(g(-1)) + g(0) + qsort(g(1)) } def r = Random(DateTime.Now.Millisecond); Console.Write(qsort($[r.Next()|_ in [0..9…

るびまゴルフ 4

.rb

るびま 負でないことを仮定していいなら4B?(Luaだと3B) でも下のコードの意味がよくわからない。 n==0?2:1 この段階でパー超えだし…。 + 負の時の挙動が 1.8.6 (codepad) 1.8.7 (cygwin) 1.9.0 (win) で全部違うのは何故。

連続するアレゴルフ

なんか見覚えある問題だけどネタ元がネタ元だけに流行ってるなぁとか思ってたら完全に乗り遅れた。 一番短そうなのを写経だけでも。 a=[1,3,4,5,6,12,13,15] r=[] a.each{r&&n-1==(a=[]+r[-1])[-1]?r[-1]=[a[1],it]:r<<it} print r ArrayList#getAt の気が利かないせいで冗長になってしまう。 > ruby -e "p [][1]; p [][-1]" nil nil </it}>…

Array#to_proc

.rb

Symbol#pa - かきにっき なるほどキモイスバラシイ。 class Symbol def [] *arg me = self proc{|o, *a| o.__send__ me, *arg, *a } end end module Enumerable def ^ p map &p end end p (0..4)^:to_s[2] #=> ["0", "1", "10", "11", "100"] これでGroovyの…

tak y

の Ruby 25B ってもしかしてこれかな。 #!ruby -na puts$F[rand*3] もしそうなら今は Array#choice があるので #!ruby -na puts$F.choice 24B。一万回ほど試せばたぶん通る。

VALUE

http://golf.shinh.org/reveal.rb?sum+of+square+numbers/leonid/1217510219&rb http://golf.shinh.org/reveal.rb?sum+of+square+numbers/leonid/1217511494&grb 丁度「Rubyオブジェクトの構造」を読み始めていたのでなんとか合点がいった。 >> [TR,F,N,*-3.…

flvpop

一部のブログ記事の影響で動画サイトの利用頻度が増えつつあるため,作業しながら視聴しやすいようにプレイヤだけポップアップさせるのを書いた。 class FlvPop @usg = 'usage: flvpop url [width [height]]' @dic = { 'youtube.com/(?:watch\?v=|v/)([-\w]+…

NQueensとgoruby

これと出力形式がそっくりなので,安直にpermutationした中から合わないものを除くコードを書いたら三つ目がタイムアウト。もしやと思い拡張子をgrbに変えてみたら通ってしまった。噂に聞くYARV効果を初めて実感した次第。 + ところでgorubyのインストール方…

dcl_C_とputs

入力の最後に改行が無いケースがあるので-pとgsubのみだと40Bから縮まず。*1こういうときはputsを使うものらしい。 プログラミング言語 Ruby リファレンスマニュアル 末尾が改行で終っている引数に対しては puts 自身は改行を出力しません。 知らずに使って…

RubyKaigiの

自分も一応本職に入るのだろうと思い*1,授業中に書いたコードはsubmitせずに家に帰ったら七時をとっくに廻っていて参加しそびれた。 *1:compound interestで60B弱も叩いておきながらである。どうせトップに届かないと諦めきっているせいか,一向にRubyゴル…

embed

http://golf.shinh.org/reveal.rb?embed/yowa/1209112928&js 改行・バックスラッシュ以外の文字はそのまま含めて良かったらしい。(要らん小細工をしてしまった。) ということは前から順にバイト列にするだけでいいわけだ。 #!ruby -p gsub!(/25[0-5]|2[0-4]\…

Groovyでどう書く

Rubyでどう書く?:連続した数列を範囲形式にまとめたい - builder by ZDNet Japan print args[0].split()*.toInteger().sort().inject([[[]]]){ r, v -> r[-1][-1] + 1 == v ? r[-1] << v : r << [v] r }.collect{ it.size > 2 ? it[0, -1].join('-') : it …

るびまゴルフ(3)

.rb

http://jarp.does.notwork.org/diary/200803c.html#200803311 なるほど…。 $ cat 3.rb#!ruby -alp $><<[$.,$F.size,~/$/,p]*" " $ cat 3.in TEST foo bar baz The quick brown fox jumps over the lazy dog. $ cat 3.out 1 1 4 TEST 2 3 11 foo bar baz 3 9 …

caddyr

caddy経由で123を通すスクリプト。 http://gist.github.com/349539Io・Groovyと実行速度の遅い言語を触るようになり,これまでの「フォームに『 target=_blank 』をセットしてリターンキー連打」という超ローテクな手段では流石に辛くなってきたので作成。 …

文字列の(セパレータを挟んだ)繰り返し

文字列繰り返し - Higé au lait 敢えて再帰でという趣向かな。でも空気読まずに普通に書く。 JavaScript String.prototype.repeat = function(n, sep, a){ (a = [this]).length = n; return a.join((sep || '') + this); }; 既に模範解答があるので少し奇を…

a ||= b ⇔ a || (a = b)

.rb

ライブドアブログ(livedoor Blog)| 読みたいブログが見つかる マニュアルによると,そもそも無駄な代入は生じない。 コメント出来ないようなのでここにメモ。

String#rpn

.rb

http://uk-studio.net/2007/12/01/ruby_rpn_ujihisa_sixeight/ ぱっと見さらに縮みそうなので Ruby の練習にやってみる。 class String def rpn scan(/-?\d+|\S+/).inject([]){|s, t| s << (t =~ /\d+/ ? t.to_i : eval("%s#{t}#{s.pop}" % s.pop)) }[0] end…

ST > RB ?

フィボナッチベンチ - Smalltalkのtは小文字です 意外。 というのも,一昨日あたりから GST と Ruby で SPOJ を解き始めていたのだが… PROBLEM RESULT TIME MEM LNG TEST AC 0.12 71232 ST TEST AC 0.01 3148 RUB FCTRL2 AC 0.32 71232 ST FCTRL2 AC 0.06 32…