讃岐小僧のEngineering×Techメモ

未経験から挑戦中のプログラミングや、趣味の野球や狩猟について、その他、ビジネスやテクノロジーをテーマに様々なことをつぶやく場所です。

【Ruby Silver 試験】equal?, str.index, array.product(array),

equal?

【Rubyリファレンス】:equal? (Object)

  • equal?メソッドは、レシーバと引数が同じオブジェクトならtrue、別のオブジェクトならfalseを返す

  • 文字列を==で比較した場合は文字列の内容が同じであればtrueを返す

a1 = "abc"
a2 = 'abc'

puts a1.equal? a2
puts a1 == a2

=> false
=> true 

equal?でtrueが返らないのでobject_idを確認する

a1 = "abc".object_id
a2 = 'abc'.object_id

puts a1.equal? a2

=> false
=> 70281024543260
=> 70281024543220

やっぱり違う。(そりゃそうだ。)

ということで同じオブジェクトを変数に渡してあげてtrueを返すようにする

a1 = "abc"
a2 = a1

puts a1.equal? a2
puts a1.object_id
puts a2.object_id

=> true
=> 70287366322720
=> 70287366322720

str.reverse

reverseは文字れるを逆さにする。

a = "Ruby on Rails"
string = a.reverse

puts string

=> Ruby on Rails
=> sliaR no ybuR

とってもシンプルなので解説は割愛する(気分)

str.index("検索文字列", n(何個目))

【Rubyリファレンス】:index (String)

  • indexメソッドは、文字列の中に部分文字列が含まれていれば、その開始位置を整数で返す(0が1番目、1が2番目、...)。

  • 含まれていなければnilを返します。

a = "Ruby on Rails"
p a.index("R", 0)

=> 0
a = "Ruby on Rails"
p a.index("R", 1)

=> 8
a = "Ruby on Rails"
p a.index("R", 9)

=> nil

array.product(Array)

【Rubyリファレンス】:product (Array)

  • productメソッドは、配列の要素と引数の配列の要素の組合せを作り、配列の配列を作成して返す
arr = [1,2].product([3,4])
p arr

=> [[1, 3], [1, 4], [2, 3], [2, 4]]

とってもシンプルで使いやすそうな気がする。

この記事はここまで

当ブログではRuby Silverの受験に向けてインプットした内容を記事にメモしているのでRuby Silverを受験される方はこちらものぞいてみてくださいね。