回答編集履歴
7
test
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
// グローバル領域に記載
|
10
10
|
const ss = SpreadsheetApp.getActive() || SpreadsheetApp.openById("シートID");
|
11
11
|
```
|
12
|
-
|
12
|
+
ssは最初の読み込み時に処理され、シート読み込みのAPIコールは1回だけ実行されます。
|
13
13
|
あとは他の関数からこのグローバル変数ssを利用するだけですので、無駄なAPIコールは発生しません。
|
14
14
|
|
15
15
|
その記事では「自分はこんな感じでシート**に関する処理**をラップしています。」と書いてあることから、シートの取得だけでなく、範囲データの取得等その他諸々の処理を LibrarySS という**名前でまとめ**、かつ**APIコールを減らせるように**ラップしているのでしょう。
|
6
test
CHANGED
@@ -28,6 +28,6 @@
|
|
28
28
|
このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、
|
29
29
|
・グローバル変数を減らす
|
30
30
|
・コード編集時に補完が聞いて使いやすくなる、
|
31
|
-
というメリットがラップを用いていることの別の側面です。
|
31
|
+
というメリットがラップを用いていることの別の側面です。(もちろん質問文に記載の保守性が高まる点もメリット)
|
32
32
|
|
33
33
|
|
5
test
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
その記事に書いてあるように、GASにおいて速度に関係するのは、大部分がAPIコールです。
|
2
|
-
その記事では、APIコールを減らす**手段**としてオブジェクトのラップを間接的に用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。
|
2
|
+
その記事では、APIコールを減らす**手段**としてオブジェクトのラップを間接的に用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。
|
3
|
+
ラップした結果として、APIコールの戻り値(シートオブジェクト)が実行中に保管され、他の関数で使いまわせるようになって高速化している、というだけです。
|
3
4
|
|
4
5
|
なお、その記事で「ラップしている」とされているシート呼び出し部分は、下記とほぼ同様です。
|
5
6
|
単純にシートを呼び出すAPIコールを減らしたいだけならば、グローバルスコープに置くだけで良く、わざわざラップする必要はないと思います。
|
4
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
その記事に書いてあるように、GASにおいて速度に関係するのは、大部分がAPIコールです。
|
2
|
-
その記事では、APIコールを減らす**手段**としてオブジェクトのラップを間接的に用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。
|
2
|
+
その記事では、APIコールを減らす**手段**としてオブジェクトのラップを間接的に用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。ラップした結果として、APIコールの戻り値(シートオブジェクト)が実行中に保管され、他の関数で使いまわせるようになって高速化している、というだけです、。
|
3
3
|
|
4
4
|
なお、その記事で「ラップしている」とされているシート呼び出し部分は、下記とほぼ同様です。
|
5
5
|
単純にシートを呼び出すAPIコールを減らしたいだけならば、グローバルスコープに置くだけで良く、わざわざラップする必要はないと思います。
|
@@ -24,6 +24,9 @@
|
|
24
24
|
var values = range.getValues();
|
25
25
|
```
|
26
26
|
|
27
|
-
このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、
|
27
|
+
このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、
|
28
|
+
・グローバル変数を減らす
|
29
|
+
・コード編集時に補完が聞いて使いやすくなる、
|
28
|
-
|
30
|
+
というメリットがラップを用いていることの別の側面です。
|
29
31
|
|
32
|
+
|
3
test
CHANGED
@@ -25,5 +25,5 @@
|
|
25
25
|
```
|
26
26
|
|
27
27
|
このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、使いやすくしている、というのがラップを用いていることのもう一つの側面であり、
|
28
|
-
この点に限れば高速化と直接関係しないと思います。(ライブラリの中でAPIコールを減らす実装をすることで高速化している)
|
28
|
+
この点に限れば高速化と直接関係しないと思います。(ライブラリの中でAPIコールを減らす実装をすることで高速化しているだけ)
|
29
29
|
|
2
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
その記事に書いてあるように、GASにおいて速度に関係するのは、大部分がAPIコールです。
|
2
|
-
その記事では、APIコールを減らす**手段**としてオブジェクトのラップを用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。
|
2
|
+
その記事では、APIコールを減らす**手段**としてオブジェクトのラップを間接的に用いているだけですので、関数やオブジェクトをラップしたからといってそれだけで大幅に速くなるわけではないと思います。
|
3
3
|
|
4
4
|
なお、その記事で「ラップしている」とされているシート呼び出し部分は、下記とほぼ同様です。
|
5
5
|
単純にシートを呼び出すAPIコールを減らしたいだけならば、グローバルスコープに置くだけで良く、わざわざラップする必要はないと思います。
|
@@ -26,3 +26,4 @@
|
|
26
26
|
|
27
27
|
このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、使いやすくしている、というのがラップを用いていることのもう一つの側面であり、
|
28
28
|
この点に限れば高速化と直接関係しないと思います。(ライブラリの中でAPIコールを減らす実装をすることで高速化している)
|
29
|
+
|
1
test
CHANGED
@@ -25,4 +25,4 @@
|
|
25
25
|
```
|
26
26
|
|
27
27
|
このように LibrarySS という単一の変数をライブラリ呼び出し用として定義し、その下に getSomeSheet やら 様々なメソッドをぶら下げることで、使いやすくしている、というのがラップを用いていることのもう一つの側面であり、
|
28
|
-
この点
|
28
|
+
この点に限れば高速化と直接関係しないと思います。(ライブラリの中でAPIコールを減らす実装をすることで高速化している)
|