2013-01-01から1年間の記事一覧
RubyでGUIプログラミングしたいなと思い検索してみると、一番最初にShoesがヒットしたので少し触ってみました。ダウンロードはこちらから http://shoesrb.com/downloads.htmlとりあえず簡単なHello Worldを作ってみました。 Shoes.app do button "Click me!"…
RubyのHashのsortは返り値がArrayになっています。 hash = { a: 30, b: 66, c: 45, d: 100, e: 80 } p hash.sort_by{|k,v| v } [[:a, 30], [:c, 45], [:b, 66], [:e, 80], [:d, 100]]ArrayではなくHashで受け取りたい場合は、この値をそのままHashに入れてあ…
Array#compactメソッドは配列の要素からnilを取り除くメソッドです。compact!だと自身も変更します。 array = [ 1, nil, 3, nil, 5 ] p array p array.compact p array array.compact! p array [1, nil, 3, nil, 5] [1, 3, 5] [1, nil, 3, nil, 5] [1, 3, 5]…
27inchのディスプレイです。 アニメ観るのに非常に役に立ちました!
忘れないようにメモ @sample = { a: 1, b: 2, c: 3 } var test = <%= @sample.to_json.html_safe %>; console.log(test); #=> Object {a: 1, b: 2, c: 3} console.log(test.a); #=> 1 参考サイト http://stackoverflow.com/questions/6272201/rails-hash-of-…
今週土曜日、診断人さん主催で12時間マラソン練習会が行われました。今回使用した問題は「TCP2010 CollapsingMaze」 http://community.topcoder.com/longcontest/?module=ViewProblemStatement&rd=14411&pm=11140内容はざっくり説明すると 「コインがばらま…
こちらの方に行ってきました。「git勉強会 in Okinawa」 http://atnd.org/event/E0019796/0自分はGithubは使っていたのですが、「Githubを使った開発フロー」というワードに惹かれて参加してみました。 ・午前の部 午前の部はGit Handson その 1を進めながら…
RubyではHashのデフォルト値をHash.newの引数として渡すことで実現できますが、配列を渡すと同じ参照になってしまうのでうまくいきません。 list = Hash.new([]) list[:even] << 2 p list[:even] #=> [2] list[:odd] << 3 p list[:odd] #=> [2,3] [2] [2, 3]…
「Rubyで数値を日本語表記に変換」 http://simanman.hatenablog.com/entry/2013/03/15/224727半年前ぐらいに作ったメソッドにちょっと変更を加えてgemにしました。 使い方 gem install yenrequire 'yen' puts 10000.to_j #=> 1万 puts 10000.to_j(:all) #=> …
gem「object_tree」作りました。 https://github.com/siman-man/object_treeRubyでクラス継承やら、モジュールのincludeなどをしたときに、ancestorsメソッドなどで継承関係を調べることができるのですが、これをtreeコマンドっぽくして視覚的に見やすくしま…
Rubyでは文字列に対してcharsメソッドを使用すると1文字ずつ分割してくれてます。 p "hello".chars ["h", "e", "l", "l", "o"] 文字列が数字だと、他のメソッドと組み合わせることで「各位を足しあわせた合計値」なんて操作もできるようになります。 list = …
Rubyでは=begin, =endで囲むことで複数行のコメントアウトが出来ます。通常ver # puts "Ruby" # puts "Java" # puts "JavaScript" 複数コメントアウトver =begin puts "Ruby" puts "Java" puts "JavaScript" =end 覚えておくと便利です。
Rubyの標準ライブラリを読んでみようってことで今回は「OpenStruct」を読むことにしました。 OpenStructとは OpenStructを使えばJavaScriptみたいにオブジェクトへの要素の追加や削除が簡単に出来るようになります。 require 'ostruct' pos = OpenStruct.new…
今週末はハッカーズチャンプルーに参加していました。http://hackers-champloo.org/ 前夜祭 前夜祭のほうはLT発表者として参加して、ゲストの方々の前で喋らせてもらいました。発表前にディスプレイテストしたにもかかわらず本番で「何も映らない!」ってな…
コントローラ内でbefore_filterを使って実装されたBasic認証をパスするのにやたら時間をかけてしまったので、自分用にメモを残しておく。 page.driver.browser.authorize('username','password') これをvisitとかの前に宣言しておくと、Basic認証をパスする…
https://github.com/jakesgordon/javascript-state-machineこのjavascript-state-machineが便利だったので、Rubyでも使いたいと思い、Ruby versionを作ってみました。 https://github.com/siman-man/state_transitiongemのインストール gem install state_tr…
Herokuにpushしようとした時のこと「そういえばHerokuはpostgresql」だったなと思い、Gemfileの設定を下のように変更していざpushしてみたら全く変更が反映される気配がない。 group :development do gem 'sqlite3', '1.3.7' end group :production do gem '…
8/10(土)に開催されたxhago4にスピーカーとして参加してきましたーhttp://hago.doorkeeper.jp/events/4396自分は「僕らの開発日記 24」というタイトルでクックパッド主催の「第4回 開発コンテスト24」に参加したときの様子を発表したのですが、技術的な話は…
CODE VS2.1の予選が終了しました。前回のCODE VS2.0では学生ランク28位だったのですが、今回はなんとGOLDランクに入ることが出来ました。わーhttp://codevswc.jp/jpn/ranking-total.htmlここまで来たからには優勝目指して頑張ります。
Rubyで二次元配列を初期化するときは注意が必要です。 ・3x3の2次元配列を作るときのよくある間違い a = Array.new(3, Array.new(3, 0)) これで配列の初期化が出来たと思うのですが、実は出来ていません。実際に配列の状態を変更してみると明らかになります…
ruby-growlでタイトルやテキストに日本語を使用しようとするとエラーが発生する。 /Users/siman/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/ruby-growl-4.0/lib/ruby-growl/gntp.rb:336:in `join': incompatible character encodings: UTF-8 and …
Rubyで二次元配列のコピーを行おうとするとコピー元を破壊してしまうケースが多々あるので、まとめてみた。・普通にコピー a = [[1,2],[3,4]] b = a b[0][0] = 10 puts "a = #{a}" puts "b = #{b}" a = [[10, 2], [3, 4]] b = [[10, 2], [3, 4]]このようにb…
Rubyでコードゴルフをやるときに覚えておくと便利です。 joinは*に置き換える joinメソッドは配列を連結させるときに使用するのですが、これは「*」で置き換えることができます。 puts [1,2,3].join('+') puts [1,2,3]*'+' 1+2+3 1+2+3これだけで6文字も短く…
今週末は「第4回 開発コンテスト24」に参加していました。 http://info.cookpad.com/24contest424時間コンテストでは24時間以内にお題に沿ったアプリケーションを開発するコンテストなのですが、今回のお題は。「年をとった自分が使うサービス」でした。 そ…
なんとなくボゴソートを書いてみました。 ボゴソート ボゴソートは配列の要素がソートされるまで、配列の要素のシャッフルを繰り返すアルゴリズムです。計算量がかなり膨大。( O(n*n!) ) def sort_checker(array) for i in 0..(array.size-2) return false i…
「RubyでGrowlを操作したい!」 と思って軽い気持ちで始めたのですが、まず環境構築にかなり手こずりました。 Growl2.0.1の導入 AppStoreで有料(350円)で販売されていたのですが、調べてみると自分でbuildすれば無料で手に入るみたいなのでやってみました。…
Rubyで日本の休日を表示してくれるものを探していたら「holiday_jp」を見つけました。http://docs.komagata.org/tags/holiday_jp/使い方はこんな感じです(githubのUSAGE参照) holidays = HolidayJp.between(Date.new(2010, 9, 14), Date.new(2010, 9, 21)) h…
CODEVS2.1が始まりました。前回は学生ランキング28位だったので、今回は頑張ってGOLD目指します。http://codevswc.jp/
ちょこちょこ設定するくせによく忘れる。今回は 「.sshディレクトリの権限を700にしていない」で30分ぐらい悩んでました。かしこ。
rubyで掛け算九九を書いてみました。 puts "+--+--+--+--+--+--+--+--+--+--+" puts "| | 1| 2| 3| 4| 5| 6| 7| 8| 9|" puts "+--+--+--+--+--+--+--+--+--+--+" puts "| 1| 1| 2| 3| 4| 5| 6| 7| 8| 9|" puts "+--+--+--+--+--+--+--+--+--+--+" puts "| 2|…