技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

2019-06-01から1ヶ月間の記事一覧

よくる例外エラー概要説明

例外エラー概要説明 NameError 未定義のローカル変数や定数、privateメソッドなどを呼び出した時に発生する。 外部ファイルや外部ライブラリのrequire忘れで発生する。 NameError:uninitializedconstantDate NoMethodError 存在しないメソッドを呼び出そうと…

Procオブジェクトを作る方法

Procオブジェクトを作る方法 Procオブジェクトを作る方法は4つ 1. Proc.new{ a, b | a + b } 2. proc{ a, b | a + b } 3. -> (a, b) { a + b } 4. lamda | a, b| a + b Proc.newとLamdaメソッドの違い ProcもLamdaもProcクラスのオブジェクトを作成できます…

ブロックをメソッドの引数にする方法

ブロックをメソッドの引数にする方法 Rubyではブロックをメソッドの引数として渡すことが可能です。 def メソッド名(&引数) 引数.call end ブロックを引数として受け取る場合は、引数の前に&をつけます。 また、そのブロックを実行する場合はcallメソッド…

文字入力を受け付けるgetsメソッド

文字入力を受け付けるgetsメソッド ターミナル上で入力を受け付ける時はkernelモジュールで定義されている、getsメソッドを利用します。 #getsメソッドを呼ぶとユーザの入力を待つ状態になる。 input=gets Hogeと入力してからリターンキーを押す input#=>"ho…

Rubyのhash

Rubyのhash hashの基本的な利用方法まとめ hashの取り出し方 ハッシュ[ キー] 例) currencies = { 'hoge' => 'soccer', 'huge' => 'baseball', 'hogehoge' => 'basketball' } currencies[' hoge'] #=> 'soccer' 'hoge' => キー 'soccer'=> バリュー hashの…

繰り返し処理でのbreake, nextの使い分け

繰り返し処理でのbreake, nextの使い分け 繰り返し処理の中で挙動を制御する方法によく使うbreakeとnextがあります。 この挙動の違いをまとめます。 break breakeを利用すると、繰り返し処理を抜ける事が出来ます。 numbers = [2, 4, 3, 6, 5] numbers. each…

Rubyでブロック作るときの{}とdo endは何が違う?

Rubyでブロック作るときの{}とdo endは何が違う? Rubyでブロックを作る時に以下のように2通りでブロックを作成することができます。 numbers.each do|n| sum+=n end numbers.each{ |n| sum+=n } この違いは? ・改行を含む長いブロックを書く場合はdo...en…

引数にデフォルト値を指定する方法

Rubyではメソッドの引数に過不足があるとエラーが発生してしまいます。 例) def favorite(sport) if sport=='soccer' '私もサッカーが好きです' else '好きなスポーツは私と違います' end end 引数が少ない favorite #=>ArgumentError:wrongnumberofargument…

Rubyの真偽値

Rubyの真偽値 Rubyの真偽値は以下のようなルールになります。 ・falseまたはnil -> 偽。 ・それ以外はすべて -> 真。 Rubyではnilの場合でも偽と判定されます。

文字列のシングルクオテーションとダブルクオテーションの違い

文字列のシングルクオテーションとダブルクオテーションの違い Rubyでは文字列を作る時にシングルクオテーションとダブルクオテーションを利用できますが。 この2つで文字列を作成した時の違いはなんでしょうか? 'hogehoge' "hogehoge" ダブルクオートで囲…