ルビー使用。http://rubyfiddle.com/riddles/c9c29のフィドル
# code
term = "123 code ruby"
f_term = term.gsub(/\s/, "% %").insert(0, "%").insert(-1, "%")
puts f_term
# output
%123% %code% %ruby%
どのようにリファクタリングしますf_term
か?
ルビー使用。http://rubyfiddle.com/riddles/c9c29のフィドル
# code
term = "123 code ruby"
f_term = term.gsub(/\s/, "% %").insert(0, "%").insert(-1, "%")
puts f_term
# output
%123% %code% %ruby%
どのようにリファクタリングしますf_term
か?
term.gsub(/\b/, '%') # %123% %code% %ruby%
これは単語の境界を使用するため、動作はあなたのものとは少し異なります。メソッドは、あなたが生成したはずの入力/\b/
を返します%cats%
cats
%% %% %cats% %% %%
あなたが本当にやりたいのはパーセント記号で各単語を囲むことだけだと仮定すると、あなたは本当にあなたのひもでそれらすべての体操をする必要はありません。String#gsubを使用して、単語の境界を置き換えます。例えば:
term = '123 code ruby'
f_term = term.gsub /\b/, '%'
# => "%123% %code% %ruby%"