コードから関数の抽出 (IntelliJ IDEA)
概要
IntelliJ IDEA では、プログラムコードから関数を抽出できます。
方法
関数として抽出するコードを選択後、以下のいずれかで可能です。
- [リファクタリング] メニュー – [抽出/導入] – [関数]
- 選択領域を右クリックし、[リファクタリング] – [関数]
- ショートカットキー
- Ctrl + Alt + m (Windows)
- Command + Option + m (Mac)
例)
以下のような for 文で、1からn までの総和を求めて、出力するプログラムがあったとします。
fun main() { val num : Int = 10 var sum : Int = 0 for (i in 1.. num){ sum += i } println (sum) }
for 文と、println の部分選択します。
![関数として抽出する部分を選択](https://iwannacreateapps.com/wp-content/uploads/2023/08/screenshot.1-2-530x317.png)
選択した状態で、[リファクタリング] メニュー – [抽出/導入] – [関数] をクリックします。
![[リファクタリング] メニュー - [抽出/導入] - [関数] をクリック](https://iwannacreateapps.com/wp-content/uploads/2023/08/screenshot.2-2-530x317.png)
関数として抽出されます。デフォルトの関数名は extracted です。
![関数として抽出される。デフォルト名 extract](https://iwannacreateapps.com/wp-content/uploads/2023/08/screenshot.3-1-530x317.png)
関数定義部で、関数名が四角で囲われている状態で、好きな関数名を入力します。
ここでは print_sum としています。
呼び出し部でも変更されます。
![関数名を変更](https://iwannacreateapps.com/wp-content/uploads/2023/08/screenshot.4-2-530x317.png)
抽出範囲を選択した状態で、選択領域を右クリックし、[リファクタリング] – [関数] でもできます。
![右クリックから関数の抽出](https://iwannacreateapps.com/wp-content/uploads/2023/08/screenshot.5-1-530x317.png)
コードを選択した状態で、以下のショートカットキーの入力でも可能です。
- Ctrl + Alt + m (Windows)
- Command + Option + m (Mac)