回答編集履歴

1

switch文の使い方について追記

2020/02/14 03:02

投稿

dodox86
dodox86

スコア9183

test CHANGED
@@ -5,3 +5,53 @@
5
5
 
6
6
 
7
7
  [SpreadsheetApp#flush() - Google Apps Script](https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#flush())
8
+
9
+
10
+
11
+ ---
12
+
13
+ **追記しました:**
14
+
15
+
16
+
17
+ `SpreadsheetApp#flush()`ではダメだったということで、関数外で`var ss = SpreadsheetApp.openById('シートID');...`のように宣言していることからの変数のライフサイクルの問題もあるかもしれませんが、そもそものコードで、`switch`文のタプル(?)指定の使い方にも問題があるようです。
18
+
19
+
20
+
21
+ 以下のコードでは` [20-02-14 11:51:30:539 JST] 0, 1`とのようにログ出力されるので、文法エラー自体は無いもののプログラマーの意図を反映していない、不正なコードだと考えられます。(Google Apps Scriptで最近使えるようになったJavaScript V8エンジンでも一応確認しましたが、同じ結果です)
22
+
23
+ ```GAS
24
+
25
+ function test29() {
26
+
27
+ var value1 = 1;
28
+
29
+ var value2 = 1;
30
+
31
+ switch (value1, value2) {
32
+
33
+ case 0, 1:
34
+
35
+ Logger.log("0, 1");
36
+
37
+ break;
38
+
39
+ case 1, 1:
40
+
41
+ Logger.log("1, 1");
42
+
43
+ break;
44
+
45
+ default:
46
+
47
+ Logger.log("default");
48
+
49
+ break;
50
+
51
+ }
52
+
53
+ }
54
+
55
+ ```
56
+
57
+ コメントでも書きましたが、一見正しく動いているように見えるテストパターンで試されたのだと思います。再度確認してみてください。