【概要】
1.結論
2.どのようにコーディングするか
3.開発環境
1.結論
downcaseメソッド、lengthメソッドと、sliceメソッドの3種類を使う!
2.どのようにコーディングするか
def str_discrimination(str_a, str_b)
a_down_str = str_a.downcase #---❶
b_down_str = str_b.downcase
a_len_str = a_down_str.length #---❷
b_len_str = b_down_str.length
if b_down_str.slice(-(a_len_str)..- 1) == a_down_str || a_down_str.slice(-(b_len_str)..- 1) == b_len_str #---❸
puts "True"
else
puts "False"
end
end
❶:大文字小文字で区別しないためです。任意の2種類の文字列(str_a,str_b)をdowncaseメソッドで全てを小文字にしました。
変数(文字列).downcase
❷:❶で小文字に変換した変数をlengthメソッドで文字数を返しています。これは❸で使うためにコーディングしています。
❸:ここで最後に任意の文字があるかを判別しています。str_aやstr_bのどちらに探されたい文字列、探したい文字が来てもいいようにOR条件にしています。またsliceメソッドを使用し、❷で使用したlengthメソッドで代入された変数を入れることで最後から任意の文字を探しています。(-(a_len_str)..- 1)は、最後から(-1)から-(a_len_str)の文字数までを示しています。
参考にしたURL:
はじめてのRuby!文字列を大文字⇔小文字に変換する方法まとめ
length、size、count メソッドの違いまとめ【Ruby】
3.開発環境
Ruby 2.6.5
Rails 6.0.3.3
Visual Studio Code