質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

690閲覧

GAS デバッグモードにおいて match 関数でマッチしないと「実行をキャンセルしました。」のコメントとともにデバッグ終了してしまう

tsuka91027

総合スコア6

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2020/07/09 02:13

前提・実現したいこと

パターンマッチングしない Match 関数をデバッグモードで動かしたい

発生している問題・エラーメッセージ

match 関数を使ったスクリプトをデバッグ環境で実行すると Match 関数のところでパターンマッチングしないと「実行をキャンセルしました。」のログを残してデバックが終了してしまう。

[20-07-08 18:39:20:104 PDT] 実行をキャンセルしました。

該当のソースコード

function matchTest() { var str = 'shibadog'; var check = str.match(/犬/); //変数strに代入した文字列に「犬」が含まれている場合 if ( check) { console.log('犬です'); } else{ console.log('犬ではない'); } }

試したこと

デバッグモードで動かすと3行目の Match 関数で 「実行をキャンセルしました。」のログを残してデバックが終了してしまう。
実行モードで動かすと正常に動作.。

補足情報(FW/ツールのバージョンなど)

デバッグモードが使えないので、開発効率が落ちて非常に困っています。
良きアドバイスで助けていただけると大変幸いです、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

デバッグモードで動かすと3行目の Match 関数で 「実行をキャンセルしました。」のログを残してデバックが終了して

本当ですね。こちらでも以下のコードで試してみましたが、スクリプトを V8ランタイムで実行すると起きるようです。例外(Exception)が発生している訳でもなく、即、デバッグが終了してしまいます。

GAS

1function test31() { 2 var str = 'shibadog'; 3 4 // 変数strに代入した文字列に「犬」が含まれている場合 5 6 try { 7 // V8ランタイムでOK 8 if (str.match(/犬/)) { 9 console.log('犬1です'); 10 } else { 11 console.log('犬1ではない'); 12 } 13 14 // V8ランタイムでNG 15 var check = str.match(/犬/); 16 if (check) { 17 console.log('犬2です'); 18 } else { 19 console.log('犬2ではない'); 20 } 21 22 } catch (ex) { 23 console.log("Exception: " + ex); 24 } 25} 26

対応としては、提示のコードのように、var check = str.match(/犬/);とするのではなく、if (str.match(/犬/) とコーディングするか、JavaScriptエンジンをV8ランタイムではなく旧エンジン(Rhihoランタイム)にするとデバッグができました。お試しください。

イメージ説明

尚、対象の文字列をvar str = 'shiba犬dog'; とマッチするよう修正してデバッグした場合は問題ありませんでした。Google Apps Scriptのデバッガー自体のバグのような気がします。

投稿2020/07/09 04:06

dodox86

総合スコア9183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tsuka91027

2020/07/09 08:06

早々のご回答ありがとうございます。 当面 Match 関数をデバッグするときは教えていただいた古いデバッガーを使用します。 Google にも不具合としてフィードバックしておきます。
dodox86

2020/07/09 08:10

> Google にも不具合としてフィードバックしておきます。 どうもありがとうございます。私もそれを考えていたのですが、私のアカウントでするのもなー、と躊躇していました。有意義なことだと思いますので是非お願いします。(ただ、もしかすると関連する報告が上がっているかもしれません)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問