ヨーキョクデイ

いろいろ雑食

Ruby

2 次正方行列の累乗の次数減らしを Ruby で使ってみる

2 次正方行列の累乗の次数減らし を Ruby で実装し、その方法で実際に行列の累乗を求めてみるよ。 require 'matrix' require 'mathn' class Matrix def my_power(n) # for 2 * 2 matrix def t(n) def combination(n, m) if m == 0 or m == n return 1 else r…

ファイルの最終更新日時をミリ秒単位で取得したい(Windows 限定)

File::Stat#mtime で取得できるファイルの最終更新日時だが、この精度(桁)は実装依存らしく、公式の Ruby では秒単位でしか取得できないものの、JRuby ではミリ秒単位で取得できた。しかし公式実装でもミリ秒単位で取得したいので、Win32 API の力を借りて…

配列の差分をとりたい

ある状態を配列で持つことにして、ある状態と別のある状態を比較し、消えた要素と現れた要素を知りたい(ただしどのインデックスの要素が消えたりしたのかは気にしない)という状況を想定。各配列は重複する要素を持たないものとする。 Ruby の配列は集合の…

文字列が整数かどうかを確かめたい 2

今回は 前回のチャレンジ へのコメントを受けて、4.0 みたいな値でも -21.00 みたいな値でも true を返す仕様にしてみた。 class String def is_int? return /^#{self.to_i}(\.0+)?$/ =~ self ? true : false end end p "68.03".is_int? # false p "4".is_in…

文字列が整数かどうかを確かめたい

意味不明だが、つまりはそういうこと。既にそういう方法はあるのだろうが、わからんので自前実装。 class String def is_int? return self == self.to_i.to_s end end p "68.03".is_int? # false p "4".is_int? # true p "hoge".is_int? # false p "-301".is…