2014年6月18日水曜日

文字列について

本当はフレームワーク「AngularDart」の導入について書きたかったのですが、まとまった時間が取れなかったので、文字列について書きます。


いまさら文字列と言われてしまいそうですが、Dart の文字列を紹介している Web ページの多くは公式リリース前のものが多く、多少情報が古いものもありますので、あえてこのタイミングで記事にしてみました。


Dart で文字列を扱う場合、シングルクォート「'」かダブルクォート「"」で囲みます。
// シングルクォート
var str1 = 'dart_String';

// ダブルクォート
var str2 = "dart_String";

// シングルクォートを文字列として使用
var str3 = "Programming language 'Dart'";
上記例示の3つ目のように、ダブルクォートで囲った場合はシングルクォートを文字列として扱うことが可能です。(その逆もしかり)


エスケープシーケンスが使用可能です。
// "dart"と"String"の間で改行される
var str1 = 'dart\nString';

// エスケープシーケンスの"\"を文字列として表示する場合は
// "\\"と記述する
var str2 = '\\n';

// 今は使えないが、Dartドラフト版時代は
// "@"を使うことでエスケープさせなくすることができた
// var str3 = @'\n';


上の例では改行を表すためにエスケープシーケンスを用いましたが、シングルクォート(もしくはダブルクォート)を3つ重ねて囲むことで改行を含む文字列を記述することが可能です。
// HTMLの<PRE>タグのように使用できる
var str1 = '''dart

String''';


「$」を用いることで、文字列リテラル内に式の値を代入することが可能です。
var str1 = 'Dart';

// 式の値の代入
var str2 = 'Programming language $str1';

// 文字列と式の境界が分からない場合は「${式}」で記述する
var str3 = 'Programming language ${str1}!!';


文字列の比較は「==」を用いて行います。
var str1 = 'dart_String';

print("dart_String" == str1); // TRUE

Dart に厳密等価演算子「===」は存在せず、すべて「==」で比較します。
ですが、JavaScript へコンパイルした場合は、CoffeeScript などと同様に厳密等価演算子で比較しています。
#Dart ドラフト版時代は「===」も実装されていました


Dart の文字列リテラルはどれも String 型となるので、String のメソッドを使用可能です。
String は変更不可能なオブジェクトのため、String を返却するメソッドは全て新しいオブジェクトを生成して返却しています。
#Java と一緒ですね


今回はこんなところです。

1 件のコメント:

  1. Thanks for sharing, nice post!

    Site Muahangtrenamazon.net chuyên cung cấp dịch vụ mua hàng ở amazon về việt nam uy tín, giá rẻ hay dịch vụ ship hang tu amazon giá tốt nhất hay dịch vụ nhan dat hang tu amazon ship về Việt Nam uy tín, chuyên nghiệp hay dịch vụ nhận order hàng amazon về Việt Nam giá rẻ hay do amazon chuyên nghiệp với giá tốt hay dịch vụ mua sách amazon giá rẻ giá tốt nhất hay dịch vụ mua dong ho tren amazon nam hoặc nữ ship về Việt Nam uy tín hay dịch vụ nhận ship hàng amazon hà nội ở Việt Nam rất uy tín và chuyên nghiệp hay dịch vụ mua hang tren amazon tai vietnam về Việt Nam chuyên nghiệp đảm bảo uy tín hay dịch vụ điện thoại amazon ship về Việt Nam chuyên nghiệp hay dịch vụ amazon nhat ban chuyển về Việt Nam uy tín hay dịch vụ mua mỹ phẩm trên amazon hay mỹ phẩm về Việt Nam uy tín, giá tốt nhất hay máy tính bảng amazon kindle fire tai viet nam đây là sản phẩm máy tính bảng của amazon được độc đáo, chia sẻ các bạn những loại cây với trồng cây gì trong nhà để đuổi muỗi hiệu quả.

    返信削除