(wat-aro)

生きてます

ruby

Pathname#joinの不思議な挙動

空のPathname同士をjoinした時に期待と違う挙動があった。 $ ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16] 期待していたのは次の動作。 path = Pathname.new('') # => #<Pathname:> path.join(path) # => #<Pathname:> でも実際はこうなっていた。 path </pathname:></pathname:>…

anagramの別解考えた

まず二つの文字列のサイズを計測して,それらが等しくなければfalseを返す. 同じ場合は一文字ずつカウントしながらハッシュに入れていく. この時,s1の文字はインクリメントして,s2の文字はデクリメントする. 最後にハッシュのバリューを取りだして,す…

RubyKaigiの弁当のコードを実行してみた

eval( %w( put s(([ 2*7, 2*31 ,1,3 *3*5 ,2*2 *2*2 *3]. map{ |c|c .to_ s(5*7 ).gs ub("1 "," \s") .upca se}. zip( [2*5* 61*1 801, 2*5*3 931, 811* 1871, 2*11 *350 27,7* 11*1 259* 20389 *764 171].map{|c|c.to_s(2*2*3*3)}))*""))*"") # >> Enjoy Ru…

Rubyで言語処理100本ノック 00-04

www.cl.ecei.tohoku.ac.jp Rubyの練習のために始めました. 4章からは難しそうなので3章まで頑張りたい.でも飽きたらやめるかも. コードを書く基礎が足りない気がするのでもっと書かないと. 始めるにあって,とりあえずRuby 2.2.3のStringクラスは一通り…

初めてのgem

github.com キャメルケース,スネークケース,パスカルケースを相互に変換するgemを書きました. 書き方わからずに色々やってたら最初にリリースした分は盛大にバグってました. とりあえずバグが取れたのでまたgemに. 一応 gem install case_converter で…

Rubyの正規表現でそれぞれのケースへの変換

今日は正規表現に苦しんだので練習しました。 snake_case、camel_Case、Pascal_Caseのそれぞれへの変換です。 capitalizeなくても書けるけど一応。 m[0].upcase + m[1..-1]はちょっと汚いですしね。 Rubular使えばテストケースが期待通りのマッチになるまで…

Array#slice

sliceメソッドには ary.slice(0,3) ary.slice(0..3) のように2つの書き方があります。ひとつ目はary[0]から3つの要素を取り出して部分配列を作ります。 この場合は [ary[0], ary[1], ary[2]] となります。ふたつ目はary[0]からary[3]までの要素を取り出し…