2016年9月3日土曜日

swiftのsubstringの仕様の意味を知りたい

C#やVBAにあるFormat関数のようなものが何故Swiftにはないのかと。
例えば"99999999"のような8桁の数値をyyyy/MM/dd形式にしたければSwiftでは

"99999999".substringWithRange(NSRange(location: 0, length: 4)))
+ "/" + ("99999999.substringWithRange(NSRange(location: 4, length: 2)))
+ "/" + ("99999999.substringWithRange(NSRange(location: 6, length: 2)))


とこんな感じになる。が、()が多すぎるのか
Expression was too complex to be solved in reasonable time;

と出てきてコンパイルエラー。
一体どうしてこんな仕様なのかな〜と思っていたらちょうどいい記事が下記にありました。

なぜSwiftの文字列APIは難しいのか

ちょっと長いし、内容は専門的なのですが、読み応えはありそうです。(まだ未読)



0 件のコメント:

コメントを投稿