前書き Typescriptでは以下のPersonクラスのwalkメソッドとDogクラスのwalkメソッドは互換性がある(同じ)メソッドとして認識されるのかされないのか。上記がピンとこないは読み進めていただけると幸いです。 class Person { walk() {} } class Dog { walk() …
group_byメソッドとは? ⇨配列やハッシュの要素を指定の条件で分類するメソッド 構文 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] puts numbers.group_by{|num| num.odd?} #出力結果{true=>[1, 3, 5, 7, 9], false=>[2, 4, 6, 8, 10]} まとめ group_byメソッ…
結論 型指定で意図しない挙動を事前に防ぐことができる 例文(引数を1ずつ増やしていく関数) JSの場合 例:引数を1ずつ増やしていく関数 ①function increment(num) { return num + 1; } console.log(increment(999)); // 出力結果:1000 問題なし ②function i…
?#Anyメソッド ⇨ 配列やコレクション内の要素が1つでもブロック内の条件を満たす場合にtrueを返す。全てfalseの場合はfalseを返す 構文 #numbersの要素の中は全て3より上の数字か確認する. #1つでもブロック内の条件がtrueになる場合、trueを返して、条件全…
centerメソッドとは? ⇨center メソッドは、レシーバーを真ん中に配置するためのメソッド. 引数に任意の数値を設定すると、その数値分の幅を持つ文字列の中でレシーバーが中央に配置される。必要に応じて、左右にスペースや指定した文字で余白が追加される。…
insertメソッドとは →配列や文字列内の任意の位置に任意の要素を挿入するメソッド 使い方 "文字列".insert(挿入したい場所,任意の文字) "Hello World".insert(5," Ruby") #出力結果 "Hello Ruby World" 配列.insert(挿入したい場所,任意の文字) arr = [1, 2,…
delete_ifメソッドとは ⇨ハッシュの中の要素をある条件で該当した場合、元のハッシュから削除する破壊的メソッドです。 例文 fruits = [ {name:"banana",price:150,inventry: true}, {name:"grape",price:300,inventry: false} ] puts fruits.delete_if{|fru…
概要 文字列の文頭が引数の文字列で始まるのかを調べるメソッド 使い方 "文字列".start_with?("文字列") 例: "mario".start_with?("ma") #出力結果 true "mario".start_with?("o") #出力結果 false 余談 似たようなメソッドにend_with?がある "文字列".end_w…
rejectメソッドとは? ⇨配列内から特定の要素を除外する rejectメソッドの使い方 ブロック内({|num| num % 2 == 0})がfalseになったものだけを集めた配列を返す= 偶数の除外 [1,2,3,4,5,6].reject {|num| num % 2 == 0} #出漁結果[1,3,5] 参考情報 docs.ruby…
前書き キーワード引数という概要ぐらいは知っていたのですが、具体的に「いつ使うの?」という肝心な部分の理解が浅いままでした。しかしこういうときに使うと便利なんだという発見があったので共有させていただきます。 どなたかの参考になれば幸いです。 …
ユークリッドの互除法とは? ⇨最大公約数を求める方法 最大公約数とは? ⇨2つ以上の整数に共通する公約数のうち、最も大きい数のことを指します. 例 12と18の最大公約数 公約数: 1, 2, 3, 6 この中で最大の公約数は6なので6が最大公約数になります 公約数と…
difference概要 ⇨1つの配列の中から該当する要素を取り除いた配列を戻り値として返す differenceメソッド構文 配列Aの配列からBの配列の要素を取り除いた配列を戻り値として返却する 配列A.difference(配列B) differenceメソッド array_a = [1, 2, 3, 4, 5] …
cycleメソッドとは? ⇨配列の要素を繰り返しループさせるメソッド 使い方 numbers = [1,2,3,4,5] numbers.cycle {|num| p num } #出力結果1,2,3,4,5,1,2,3,4,5,1といったように無限に繰り返される。 引数に何回ループを回したいかの回数を指定できる。 numbe…
前書き エラーなどを調べる際に「調べ方」によって欲しい情報にたどり着く時間が変わります。 そこで私が普段している検索する際のちょっとした工夫を共有することで誰かのお役に立てればと思い記事に残します。 下のように「キーワード検索」で普段から検索…
二分探索法とは? ⇨ソートされた配列から特定の値を効率的に見つけるためのアルゴリズムです。 従来のやり方 例 配列(numbers)の中に8(target_number) が含まれているか調べたい numbers = [1,2,3,4,5,6,7,8,9] target_number = 8 #考えられるやり方は2つ(in…
前書き paizaの問題が解けずに困っていました。 その問題にはスパイラルマトリックスというアルゴリズムを知っていないと解けないということがわかりました。みなさんの学習の参考になればと思い記事を作成します・ スパイラルマトリックスとは ⇨二次元配列…
downtoメソッドとは self から min まで 1 ずつ減らしながら繰り返す 公式 self.downto(min){|num| p num} 例文 例 5.downto(1){|num| p num} 出力結果5,4,3,2,1 例 5.downto(3){|num| p num} 出力結果5,4,3 downtoの逆のことをするuptoメソッドもある upto…
takeメソッドとは? ⇨配列の先頭から指定の要素数を取り出し新たな配列に格納するメソッド 例文 numbers = [1,2,3,4,5] numbers.take(3) #出力結果[1,2,3] 参考情報 docs.ruby-lang.org
allメソッドとは? 配列の中の要素を1つずつ取り出し、ブロック内の条件で判定する. 要素が全てtrueの場合trueを返し、1つでもfalseの判定になると直ちにfalseを返却する 使い方 配列の中の要素が全て5以上であるかを調べたい numbers = [10,20,30,40,50 ] p…
partitionとは ⇨1つの配列を2つに分割するメソッド。このとき分割する条件に当てはまる配列と当てはまらない配列の合計2つに分ける。 例文 数字を奇数と偶数にわける numbers = [1, 2, 3, 4, 5] numbers.partition { |n| n.even? } ⇨出力結果[[2, 4], [1, 3,…
そもそもデフォルト引数とは? ⇨関数の引数にundefinedが渡された時にundefinedが引数に代入される代わりに事前に決めた値を格納するためのもの どういう時に使う? ⇨関数の引数にundefinedが渡された時にエラーにさせたくない時に使う 例 足し算(デフォルト…
即時実行関数とは? ⇨関数の定義と同時に一度だけ実行される関数 書き方 関数を()で囲い込む 書き方のパターン 返り値を変数に格納するパターン let 変数 = ( function 関数名(仮引数){ return 返り値 } )(実引数) 返り値を変数に格納しないパターン ( funct…
#前書き jsで関数の中に関数を定義した場合、どのようにして関数内の関数を実行するのかわからなかったので記事に残します. function addNumberFactory(num1){ function addNumber(num2){ return num1 + num2 } return addNumber; } const number = addNumbe…
やりたいこと 配列内(numbers)の数値を組み合わせて(足し合わせる)、standard(20)以上にする組み合わせがどれだけあるのかを調べる。 standard = 20 numbers = [3,8,16] 例 [8,16]. ⇨足し合わせて24なので20を超えているので⭕️. 極端な話(連番)[3,3,3,3,3,3,…
やりたかったこと 多重配列を複数条件でソート(配列内の要素を大きい順でソートする) numbers = [ [1,2,3], [1,3,4], [1,3,5] ] #出力結果 numbers = [ [1,3,5] [1,3,4], [1,2,3], ] このように配列内の要素が大きい順(1つ目の要素が同じなら2つ目の要素で大…
結論 ⇨ループ内の現在の繰り返し処理をやり直す。 使い方 redoは以下のループ内で使用可能 while文 until文 for文 イテレータ(each、times、upto、downto、step、loopなどのメソッド) 4.times do num = rand(10) if num.even? p num else redo end end 出力…
結論 配列の中の要素を右や左にずらしながら配列を再度作成する。 rotateメソッドの使用例 number = [1, 2, 3] number.rotate #出力結果 [2, 3, 1] まとめ rotateメソッドは配列の中の要素をずらしながらずらしながら配列を再度作成する 参考情報 docs.ruby-…
absメソッドとは ⇨絶対値を求めるメソッド。absolute(絶対的)という単語を短縮したものです 絶対値とは? ⇨0からの距離をあらわす値です 例えば10と-10の絶対値は? ⇨10になります. これは-10でも+10でも0からの距離は10になるからです。 absメソッドの挙動 …
前書き 文字列に含まれる数字の小さい順に並び替える処理を実装するのに時間がかかったので記事に残します. 変更前 ["mario12","wario1","yosii165","peach2"] ↓このように数字の小さい順番に並び替えたい ["wario1","peach2","mario12","yosii165"] 結論 so…
前書き このような多重配列から要素数が最も多い配列かつ index番号が小さい配列を取得するにはどうするんだろうと思い、maxメソッドの少しユニークな使い方で実現できたので忘却録として記事に残そうと思いました。 multi_array = [ [1, 2], [4, 5, 6], [7 …