読者です 読者をやめる 読者になる 読者になる

A Perfect Night For Bananafish

だがそれを語るには人生は短すぎる

スタイラスペン

スマホでお絵描き! (アスペクトムック)作者: なし出版社/メーカー: アスペクト発売日: 2014/04/26メディア: ムックこの商品を含むブログ (1件) を見る「スマホでお絵描き!」という本が目に留まったので立ち読みしたら、 Adonit Jot Mini スマートフォン&タブ…

Firfox全画面表示でブックマークツールバーを使いたかった

最近 Firefox 29 になったタイミングで長いこと使っていたGoogle Chromeから乗り換えてみた。 ちなみにWindows 8.1 Upgradeで使用している。 課題 集中できる全画面モードが好きなのだけど、全画面表示にするとブックマークツールバーが表示されなくなってし…

824年に一度

824年の一度のチャンス!? ←デマです - Togetter 土曜日、日曜日、月曜日が5回ある824年に一回しかない金袋という年で... そういえば最近 5のつく水曜日を数える - A Perfect Night For Bananafish で似たような計算してたし、センパイのBlogみたら何やら検…

5のつく水曜日を数える

5のつく日(5日、15日、25日)でかつ、水曜日となる日がその年に何個あるのかを知りたい という旨のツイートを見かけたので考えてみた。なんかキャンペーンとかイベントでもあるんだろうか。 概算 統計的に推測してみる。数年前に流行ったフェルミ推定的なア…

その月は一体何日あるのか

今日も前世紀的プログラミング言語のマニュアルを眺めていたところ、日付を入力するようなサンプルプログラムがあった。 入力時に桁数チェックしかしていないので、このままでは2月31日とか13月99日とか、ありえない日付も入力できてしまう。イマドキのプロ…

もういくつ寝ると

二度寝はしない。 ruby -r date -e 'puts Date::new(Date::today.year+1,1,1)-Date::today'

Jiskoのタイムラインをrubyで取得する

Twitter系ミニブログJiskoのタイムラインをrubyで取得してみる。 あえてのJisko。APIガイドhttp://wiki.jisko.net/wiki/APIがスペイン語だよ、わかんねーよ。Ruby+JiskoでRiskoにすればリスっぽいじゃん。木の実の代わりにRuby持たせればカンペキ。 ↓Jiskoの…

数字を指定の桁数だけ0で埋める

数字を指定の桁数だけ0で埋める。0fill とか0 paddingっていうヤツ。 たとえば123を5桁で指定すると00123という文字列を返したい。 とりあえず先頭に0をくっつけてみる。 def zerofill(n,d) str=n.to_s return str if str.size >digit while str.size < d st…

改行コードCR+LFのファイルからCRを取り除く

地味だけどたまに使うので。改行コードにまつわる話はここでは割愛。 crlf2lf.rb while s=gets $stdout.binmode.write(s.gsub(/\r\n$/,'\n')) end ポイントはbinmode(バイナリモード)。CRを取り除いたファイルを作成するには ruby crlf2lf.rb file1.txt > …

パスカルの三角形

パスカルの三角形 - rubyco(るびこ)の日記をパクっt・・・参考に パスカルの三角形の値を2で割った余りに置き換えるとwikipedia:シェルピンスキーのギャスケットになる。cf.)1次元セル・オートマトン - A Perfect Night For Bananafish半ば強引に文字に置…

1次元セル・オートマトン

wikipedia:セル・オートマトン スマン文字配列で。しかもSJISなんだ。 $KCODE="SJIS" h=Hash.new h.store("■■■","□") h.store("■■□","■") h.store("■□■","□") h.store("■□□","■") h.store("□■■","■") h.store("□■□","□") h.store("□□■","■") h.store("□□□","…

数字を","で区切って通貨形式っぽくする

三桁毎にカンマ","を入れてみる。 数字の文字列をひっくり返して3桁毎に","を入れたらまた元に戻す。 to_money.rb class Integer def to_money() self.to_s.reverse.gsub( /(\d{3})(?=\d)/, '\1,' ).reverse end end class Float def to_money() if self < …

アナグラム

amazon:Javaで学ぶアルゴリズムとデータ構造 (単行本(ソフトカバー))の第6章より。 anagram.rb def doAnagram(newSize) return if newSize==1 newSize.times { doAnagram(newSize-1) if(newSize==2) displayWord end rotate(newSize) } end def rotate(ne…

円周率を求める

Mathクラスで定義された定数PIとついでにアークタンジェントで計算したπ。 module Math include Math p PI #=>3.14159265358979 p atan2(1, 1)*4 #=>3.14159265358979 円周率を求める とりあえず小数点以下8桁まで require 'open-uri' open("http://www.goog…

階乗を求める

nの階乗は n! = n*(n-1)*....*1 n=0のとき0! = 1 再帰的に求める def recursive_fact(n) if (n==0) return 1 else return recursive_fact(n-1)*n end end 自分の環境ではn=6062を超えるとstack level too deep (SystemStackError)になってしまった。 - 実は…

ユークリッドの互除法

wikipedia:ユークリッドの互除法:2 つの自然数または整式の最大公約数を求める手法 明示的に記述された最古のアルゴリズムだそうだ。 def gcd(a,b) if (a < b) return gcd(b,a) end r=a%b if (r==0) return b end return gcd(b,r) end もう少しスマートに書…

行を数える

lcnt=0 while s=gets lcnt+=1 end puts lcnt - 標準入力から読み込んだファイルの行数(linenum_stdin.rb) 実行方法: ruby linenum_stdin.rb while s=gets end puts "#{$stdin.lineno}" 複数ファイルの行を数える while filename = ARGV.shift lcnt=0 open(fi…

素数判定

整数numが素数ならtrue、素数でなければfalseを返す。 2〜num-1でそれぞれnumを割って余りが0になったらfalseを返す。 def prime_simple?(num) if num<2 return false end 2.upto(num-1) { |i| if num%i==0 return false end } return true end 実際はnum-1…

1から100までの整数を含む配列

arr=[] 100.times{ |i| arr<