2006-08-11 (Friday) [長年日記]
■ 各要素が「0または1をとる乱数」から成る長さnのリスト @ Ruby
about 勝手にどう書く0.0
素直に書いてみました.
ruby -e 'p (0...24).collect { rand(2) }'
24のとこをARGV[0].to_iとすれば任意の引数が取れます.
■ いろいろ安くなっていてビビる
所用で都内に移動.途中,秋葉原に寄ってみた.
そしたらUSBのフラッシュメモリが1GBで3000円とかになってるわけですよ! 話には聞いていたのですが,実際に見るとビビりますね. BSDかLinuxをインストールして持ち歩こうかな,とか考えてしまいます...
でもって,DVD-DLに対応したドライブも4000円くらいで買えるんですよ!
もう,何買ったらいいのかわかんなくて何にも買いませんでした(ぶ
[]
本日のPingbacks(全0件)









僕も書いたぜ!こういうの多そう。<br>ruby -e "printf('%0'+ARGV[0]+'b',rand(1<<ARGV[0].to_i))" 123
補足。リストを得よ、だから表示は二の次か…。ちょっとまずいか。
ruby -e 'p [].fill( 0, ARGV[0].to_i ) { rand(2) }' 100<br><br>これじゃおもしろくもなんともないなぁ
> machyさん<br>ruby -e "p format('%0'+ARGV[0]+'b',rand(1<<ARGV[0].to_i)).scan(/./).map{|s| s.to_i}" 123<br>なーんてことをすれば無理矢理リストにできますよー.(ぉ<br>「randを一度しか実行しない」という縛りなら,こんな書き方もいいかもしれません.<br>ruby -e 'puts rand(1 << ARGV[0].to_i).to_s.unpack("b#{ARGV[0]}")' 123<br><br>> tyvさん<br>割と個人の好みが表れるよねぇ.<br>「最初に配列を作ってから値を入れる」つながりなら,injectを使った書き方もなかなかです.<br>ruby -e 'p (0...ARGV[0].to_i).inject([]){|a,i| a << rand(2) }' 100
unpackは使えないか考えたんだけど、to_sのunpackは'0''1'の文字コードが二進数表記になってしまうので、ダメじゃないかな。<br>ちなみに'%0'+ARGV[0]+'b'なんて読みにくい書き方したのは、ruby -e '...'だと中の<<がシェルの方で解釈されてうまく動かなかったためruby -e "..."とせざるを得なかったのです…。@windows
そうなんですよね.一発でリストにすることはできなさげですね...<br>.to_s.scan(/./).map{|s|s.to_i}すればリストは得られるのですが,イマイチ...