2014年3月10日月曜日

140310

Ruby


Dir.globメソッドを勉強中、ワイルドカードで混乱。

*
空文字列を含む任意の文字列と一致。

**/
 */ の0回以上の繰り返しを意味し、 ディレクトリを
再帰的にたどってマッチを行う。
例えば、foo/**/ はfoo/bar/、foo/bar/hogeなど、
配下の全サブディレクトリとマッチ。

2014年3月9日日曜日

140309

Ruby  


配列から要素の取り出し

140302でも同じことをしたが、もう一度やってみる。

ary=[0,1,1,2,3,5,8,13,21,34,55,89,144]
puts "#{ary}"

puts "#{ary.select{|i| i%2==1 }}"

ary.each_with_index do |i, j|
 if i%2==1 then
 puts "#{j+1},#{i}"
 end
end

出力結果
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144]
[1, 1, 3, 5, 13, 21, 55, 89]
2,1                ←元の配列における順番も出力。
3,1
5,3
6,5
8,13
9,21
11,55
12,89

2014年3月6日木曜日

140306

Ruby


Array#permutationを用いて、下の覆面算を解いてみる。

  SEND
+MORE
-----
 MONEY

(0..9).to_a.permutation(8) do |s, e, n, d, m, o, r, y|
  next if s == 0 or m == 0
  send = s*1000 + e*100 + n*10 + d
  more = m*1000 + o*100 + r*10 + e
  money = m*10000 + o*1000 + n*100 + e*10 + y
  if send+more == money then
  print "#{send} + #{more} = #{money}" 
  end
end

2014年3月2日日曜日

140302

Ruby


イテレータ

irb(main):001:0> [1,2,3,4,5].map{|i|i*2}
=> [2, 4, 6, 8, 10]
irb(main):002:0> [1,2,3,4,5].map{|i|i%2==1}
=> [true, false, true, false, true]
irb(main):003:0> [1,2,3,4,5].select{|i|i%2==1}
=> [1, 3, 5]

2014年3月1日土曜日

140301

Ruby


コマンドプロンプトの画面のコピー

1.右クリック 範囲指定
2.範囲指定してEnter
3.保存先(メモ帳、TeraPad)に貼り付け

2014年2月24日月曜日

140224

Ruby


正規表現

「/^\s*$/」の意味

^           行頭とマッチするパターン
\s          空白文字
*           0回以上の繰り返し
$           行末とマッチするパターン

以上より、
/^\s*$/   空白のみの行にマッチ

2014年2月23日日曜日

140223(2)

Ruby


pメソッドでつまづく。

具体的には、
a,b,*c=1,2,3,4,5
p [a,b,c]
とすべきところ(ちなみに、出力結果は[1,2,[3,4,5]])を
a,b,*c=1,2,3,4,5
p[a,b,c]
としていた。

学んだこと
「かっこがあっても、詰めてはいけない!」

140223

「たった2日でできるRuby」


一昨日、Rubyが使えるようになりたいと思い、
早速、昨日上記の本を買ってきて、
全部読んでみた。
以下のページに誤植があった。

p.98~p.99
プログラム内の「:」は「;」の誤り。  (サポートページに指摘されている。)

p.128
puts("#{m-1} 月は #{n}")はputs("#{n+1} 月は #{m}")の誤り。

p.188
purs(array.sort)はputs(array.sort)の誤り。

2013年12月8日日曜日

131208

Excelでランダムシャッフル


1〜nまでをランダムシャッフルするには、大体次のイメージ

           前  後
RAND()  1  RANK()
RAND()  2  RANK()
RAND()  n  RANK() 

2013年11月2日土曜日

131102

BATIC®
11/1 第26回試験≪試験日:12月15日(日)≫の申込登録の受付を終了いたしました。
今日本屋に行ったとき思い出す OTL

まぁ、来年の7月まで別の試験の勉強し、受験しよ。
今度(第27回)の申込(5月あたま〜6月あたま)は仕事が忙しくても忘れんとこ。

ちなみに、どれくらいの試験なのかここに残しておこう。(データはBATIC®の公式ページより)

2012年度(年2回)
実受験者             4,190人
Controller Level          220人
Accounting Manager Level   645人
Accountant Level        2,041人 
Bookkeeper Level         948人  

2013年度(第25回)
実受験者             2,066人
Controller Level           33人
Accounting Manager Level   190
Accountant Level        1,035人 
Bookkeeper Level         645