Closed3

Swift?Xcode?のパーサが文字列中の/*を正しく扱えない件

kabeyakabeya
print("test/*sample")
print("result")

は普通に実行できますが、

/*
print("test/*sample")
*/
print("result")

は実行できません。

/*で開始したコメントブロック内で、文字列中の/*がコメント開始扱いされてしまいます。

同様に

/*
print("test*/sample")
*/
print("result")

これも実行できません。
文字列中の*/がコメント終了扱いされてしまいます。

Xcode 14.3(Swift 5.8)で発生します。

kabeyakabeya

このzenn.devのパーサ(Prism.js?)もうまく扱えてないということは、言語仕様なんでしょうか。

kabeyakabeya

これSwiftだけじゃないですね。
XcodeのC/Objective-C/C++は、開始は許します(警告が出ます)。文字列内かどうかは関係ないようです。
終了はすべてSwiftと同じ挙動をします。

そういうものだというのは初めて知りました。

このスクラップは2023/05/02にクローズされました