Asa Tech Blog

学んだことを備忘録として残しています

2021-01-01から1年間の記事一覧

即時関数とは?

即時関数とは 即時関数とは、英語で IIFE (Immediately Invoked Function Expression)と呼ばれる即時実行関数式です。 即時関数は定義すると即時に実行されます。 このため、即時関数とよばれます。 即時関数を利用することで、関数を定義するだけで即実行…

【カンニング防止】Runteq生のブログが検索結果に表示されなくなる方法

はじめに 基礎編以降のRunteqの課題はわからないことだらけなので、Googleで検索しまくると思います。 検索していると、Runteqの先輩方が書いたブログを見つけることがあります。 僕はRunteqの先輩のブログだと気づかずに、うっかり読んでしまうこともあれば…

Rspec勉強まとめ

sequenceの第二引数で定義した文字にはループの度にString#nextを末尾の文字に実行する # 上と下は同じ sequence(:title) { |n| "title_#{n}" } sequence(:title, "title_1") unique制約のあるカラムはsequenceを設定 変数には役割が分かる名前をつける(ex. …

チェリー本4章③

rjustメソッドは右寄せにするメソッド # 第1引数に桁数、第2引数に空白を埋める文字を指定できる p '0'.rjust(2) #=> " 0" p '0'.rjust(2, '0') #=> "00" リファクタリングとは、外から見たふるまいは保ったまま、理解や修正がかんたんになるように内部のコ…

チェリー本4章②

# select(find_all)メソッドはブロックの返り値が真である要素を集めた配列を返す numbers = [1, 2, 3, 4, 5] new_numbers = numbers.select { |n| n.even? } p new_numbers #=> [2, 4] # rejectメソッドはブロックの返り値が偽である要素を集めた配列を返す…

チェリー本4章①

# delete_atメソッドは配列内の特定の位置の要素を削除する a = [1, 2, 3] p a.delete_at(1) #=> 2 p a #=> [1, 3] # divmodは商と余りを配列で返す p 14.divmod(3) #=> [4, 2] # quotientは商、reminderは余りという意味 quotient, reminder = 14.divmod(3)…

チェリー本3章①

Minitestについて勉強していきます!! assert_equal 期待する結果, テスト対象となる値や式 #具体例 assert_equal 'RUBY', 'ruby'.upcase # aがbと等しければパスする assert_equal b, a # aが真であればパスする assert_equal a # aが偽であればパスする r…

チェリー本2章⑤

include?メソッドは引数の文字列が含まれているか判定する p 'watch'.include?('at') #=> true p 'watch'.include?('ta') #=> false odd?メソッドは奇数かどうか、even?メソッドは偶数かどうかを判定する !で終わるメソッドは慣習として「使用する際には注意…

チェリー本2章④

2進数は0b、8進数は0、16進数の場合は0xを先頭につけるとそれぞれ10進数以外の整数値を作成できる p 0b11111111 #=> 255 p 0377 #=> 255 p 0xff #=> 255 指数表現を使って浮動小数点数を表せる。例えば、2e-3は「2 x 10の3乗」。 p 2e-3 #=> 0.002 式全体が…

チェリー本2章③

論理演算子の&&は||よりも優先順位が高い # 上と下は同じ t1 && t2 || f1 && f2 (t1 && t2) || (f1 && f2) if文は最後に評価された式を戻り値として返す returnはメソッドを途中で脱出する場合に使われることが多い %記法で文字列が作れる # %q! !はシングル…

チェリー本2章②

丸め誤差初めて知った! 整数同士の割り算は整数になる to_fで整数を小数にできる 丸め誤差:コンピュータが10進数ではなく2進数で計算しているため起こる誤差 0.1 * 3 #=> 0.30000000000000004 0.1 * 3 == 0.3 #=>false rational(有理数)クラスを使うと、期…

チェリー本2章①

今日からRubyの基礎固めとしてチェリー本をやっていきます!! #レシーバを2進数の文字列にする 10.to_s(2) #=> '1010' 文の区切りを表す; 文がまだ続くことを表す\ 識別子:変数やメソッド、クラスにつける名前のこと(予約語は識別子には使えない) リテラ…