ubuntuにrbenvをインストールして、Rubyのバージョンを管理します。 環境 Ubuntu 16.04 公式マニュアル Groom your app’s Ruby environment with rbenv. […]
Ruby
Ruby クラスメソッドをインスタンスメソッドから呼び出す
Rubyでクラスメソッドをインスタンスメソッドから呼び出すには、次のようにします。 クラス名.クラスメソッド名 self.class.クラスメソッド名 (他にもあるのかな?) 例 次のようなクラスがあったとします。 cl […]
Ruby 別のRubyファイルを相対パスで読み込むには
Rubyで別のRubyファイルを相対パスで読み込むには、require_relativeを使います。 例えば自分で作ったmy_ruby.rbがカレントディレクトリにあるなら、次のような感じです。 require_rela […]
Ruby 引数をハッシュで渡す
Rubyのメソッドに引数を渡す時に、ハッシュで値を渡すにはどうしたらいいのか調べてみました。 結論 メソッドの引数をキーワード引数で定義します。次のような感じです。 def something( arg1:, arg2: […]
Ruby Tempfileの使い方
Rubyで一時的なファイルが使いたいときはTempfileライブラリが使えます。画像をダウンロードして一時的にファイルとして保存したい場合などに便利です。使い方をメモします。 リファレンスはhttps://docs.ru […]
Ruby FileとIOの使い方
RubyのFileとIOを使うと、ファイルを読み書きできます。使い方の備忘録です。 公式リファレンス File: https://docs.ruby-lang.org/ja/2.3.0/class/File.html I […]
Ruby OpenURIの使い方
RubyのOpenURIを使うとhttpやftpでネットワーク上のリソースを取得することができます。 リファレンスはこちらです。module OpenURI。 基本的な使い方 はじめにopen-uriを読み込みます。 […]
Ruby ローカル変数の一覧を表示する
Rubyにて現在のスコープで定義されているローカル変数名の一覧を表示するには、local_variablesを使います。 使用例 message = “hello world!” p local_variables =& […]
Ruby グローバル変数の一覧を表示する方法
Rubyでグローバル変数の一覧を表示するには、global_variablesを使います。 使用例 Railsプロジェクトで実行してみました。 p global_variables => [:$trace, :$& […]
Ruby ランダムな値を生成する
Rubyでランダムな値を生成するにはrandを使います。 例 0〜9の整数を得たいときは次のようにします。 rand(10) => 6 実数を得たいときはRandom.randを使います。 Random.rand( […]
Ruby 配列をランダムに入れ替える
Rubyで配列をランダムに入れ替えるにはshuffleを使います。 シャッフルして保存する 配列に対してshuffle!を使います。 array = [1,2,3,4,5,6] array.shuffle! p arra […]
Ruby eachループの回数を指定する
Rubyでeachを回数を指定して回したかったので方法を調べてみました。 方法 配列に対してfirstで回数を指定してからeachで回します。 配列.first(回数).each do |t| 処理 end 例 配列のは […]
Ruby 配列を複製する
Rubyで配列を複製するにはdupかnewを使います。 dup Foo.arrayを複製します。arrayに追加してもFoo.arrayには影響しません。 array = Foo.array.dup array.push […]
Vagrant+Ubuntu Cannot allocate memoryと表示される
Vagrant + Ubuntu 16.04環境において、Rubyコードを実行したら次のように表示されたので原因を調べてみた。 `fork’: Cannot allocate memory – fork(2) (Errn […]
Ruby 画像をダウンロードする方法
Rubyで画像をダウンロードするにはopen-uriを使います。 ダウンロードの仕方 open-uriのopenメソッドを使います。仮想のURL http://example.com/example.jpg をダウンロー […]
Ruby 例外を捕捉する
Rubyで例外を捕捉するには、begin – resqueを使います。 begin 処理 resque => e puts e end 処理で例外が発生するとresqueが呼ばれます。例外の内容はeに格納されます。