Header
2018-02-26
2020-05-27

Ruby技術者認定試験 (Silver version 2.1)対策 | !が付かない破壊的メソッド

2334

Ruby技術者認定試験 (Silver version 2.1)の出題内容で破壊的メソッドと非破壊メソッドの内容が出題されます。

!がついたメソッドが破壊的メソッドとして認識している方もいますが、

!がつかない破壊的メソッドがあるので、下記に一例を記載していきます。

破壊的メソッドとは?

オブジェクトの値そのものを変更してしまうメソッドの事です。 プログラミング言語にかかわらず破壊的メソッド存在します。 Rubyの場合は以下の内容です。

str = "こんにちは, こんばんわ"
puts str.delete!("")
p str

.deleteは引数に指定した値を文字列から削除するメソッドです。 .delete!とする事で破壊的メソッドとして利用する事ができます。

str.delete!("こ")でこの文字が削除された為、再度strを表示すると"んにちは, んばんわ"と表示されます。

Rubyで破壊的メソッドを利用する際は多くの場合メソッド名の後ろに!を付与すれば破壊的メソッドとして利用することができます。

しかし以下では!を付与せずとも破壊的メソッドとして機能するので、注意が必要です

Arrayクラス|破壊的なメソッド

<<
pop
shift
unshift
push
concat
insert
[]=
fill
replace
delete_at
delete_if
delete
clear

Hashクラス|破壊的なメソッド

update
[]=
shift
delete
delete_if
replace
clear

Stringクラス|実は破壊的なメソッド

<<
concat
insert
replace
[]=

replaceは String、Hash、Arrayの各クラスに存在するので注意

以上

余談ですがRuby技術者認定試験 (Silver version 2.1)でも出題されてましたが、実は下記でhashの生成ができる

 $ p a:1,b:2  
{:a=>1, :b=>2}

関連問題

Rubyの練習問題:配列編|初心者・独学者向け入門コンテンツ

Rubyの練習問題:文字列編|初心者・独学者向け入門コンテンツ

Rubyの練習問題:ハッシュ編|初心者・独学者向け入門コンテンツ

Rubyの練習問題:繰り返し処理編|初心者・独学者向け入門コンテンツ

Rubyの練習問題:条件分岐編|初心者・独学者向け入門コンテンツ

その他関連記事

ITエンジニアに強い転職エージェント4選|現役エンジニアが解説

Ruby技術者認定試験(Silver version 2.1)の試験概要はこちらから

初心者・独学者向け|Rubyのハッシュ入門とよく使うメソッド

初心者・独学者向け|Rubyの配列処理の入門とよく使うメソッド

初心者・独学者向け|RubyのStringクラスとよく使うメソッド

初心者・独学者向け|Rubyのinitializeメソッドとは

20代のITエンジニアは転職する前に自分の市場価値を把握しよう

あなたにお勧めの記事
前の記事
次の記事