インライン化
インライン化リファクタリングでは、変数とメソッドの抽出リファクタリングを元に戻すことができます。
以下のアニメーションは、変数を文字列にインライン化する方法を示しています。
![inline variable](https://resources.jetbrains.com/help/img/idea/2024.1/rm_refactoring_inline_variable.png)
変数 / メソッドをインライン化するには:
変数 / メソッド名にキャレットを置きます。
Ctrl+Alt+N を押すか、メインメニューで
に移動します。選択した変数またはメソッドに対応するインライン化ダイアログで、インライン化オプションを指定します。プレビューと変更の適用
変数のインライン化
変数のインライン化リファクタリングは、冗長な変数の使用をイニシャライザーで置き換えます。このリファクタリングは変数の抽出の反対です。
前 | 後 |
---|---|
name = "JetBrains"
puts "Hello from #{name}"
|
puts "Hello from JetBrains"
|
メソッドのインライン化
メソッドのインライン化は、メソッドの本体を呼び出し元の本体に配置します。
前 | 後 |
---|---|
def test
c=add(a,b)
d=add(a,c)
end
def add(a, b)
a+b
end
|
def test
c = a + b
d = a + c
end
|
関連ページ:
![](https://pleiades.io/icons/rubymine.png)
変数の抽出 / 導入
変数の抽出リファクタリングを使用すると、指定した値を対応する変数に抽出できます。このリファクタリングは、基本的な Ruby データ型(文字列、配列、ハッシュなど)およびクラスインスタンスに使用できます。以下のアニメーションは、文字列から変数に特定の単語を抽出する方法を示しています。変数を抽出するにはリファクタリングする値を選択するか、必要な値を含む文字列にキャレットを配置します。メインメニューで、に移動します。(オプション) 抽出可能な複数の式を含む場所にキャレットを置く場合は、必要な式を選択し...
![](https://resources.jetbrains.com/help/img/idea/2024.1/rm_refactoring_pull_up_dialog.png)
メンバーをプルアップ、メンバーをプッシュダウンする
メンバーのプルアップリファクタリングを使用すると、クラスメンバーを指定したスーパークラスに移動できます。メンバーのプッシュダウンはクラスメンバーをサブクラスに移動します。メンバーのプルアップ:メンバーをプルアップするには: クラス名またはクラス内の任意の場所にキャレットを置きます。に移動します。呼び出されたダイアログで、目的のメンバーとこれらのメンバーが配置されるスーパークラスを選択します。OK をクリックします。cat.rb ファイル class Cat < Mammal def move p...