dart:core Stringの関数について

dart:core Stringの関数について

ここに書いてある関数について適当に日本語化&例を載せてまとめます。

https://api.dartlang.org/1.13.0/dart-core/String-class.html

まとめるほどでもないけど、単純にどんな言語でも文字列操作大事だし、まぁ単純にアウトプットしたいだけです。 あと、Iterableをリストと表記したりかなり雑です。

コンストラクタ

String.fromCharCode(int charCode) factory

数値から文字列を生成する。

main(){
  var c = new String.fromCharCode(0x41);
  print(c);
  // A
}

String.fromCharCodes(Iterable<int> charCodes, [int start = 0, int end]) factory

数値のリストから文字列を生成する。このリストの始まりと終わりを指定することも可能。

main(){
  var ns = [0x41, 0x42, 0x43, 0x44];
  print(new String.fromCharCodes(ns));
  // ABCD
  print(new String.fromCharCodes(ns, 1));
  // BCD
  print(new String.fromCharCodes(ns, 1, 2));
  // B
}

String.fromEnvironment(String name, {String defaultValue}) factory

pub build時に--defineで定義した値を取得する。

main(){
  // `pub build --define releasemode=true`の場合

  print(const String.fromEnvironment('releasemode'));
  // true
}

プロパティ

codeUnits -> List<int> read-only

文字列からUTF-16のコードの変更不可なリストを返す。

main(){
  var xs = 'hi'.codeUnits;
  print(xs);
  // [104, 105]

  // エラー!
  // xs[0] = 0x41;
}

hashCode -> int read-only

文字列のハッシュ値を返す。

main(){
  var hash = 'hi'.hashCode;
  print(hash);
  // 793667904
}

isEmpty -> bool read-only

空文字列ならtrueを返す。

main(){
  print('hoge'.isEmpty);
  // false
  print(''.isEmpty);
  // true
  print('   '.isEmpty);
  // false
}

isNotEmpty -> bool read-only

空文字列でないならtrueを返す。

main(){
  print('hoge'.isNotEmpty);
  // true
  print(''.isNotEmpty);
  // false
  print('   '.isNotEmpty);
  // true
}

length -> int read-only

文字列の長さを返す。

main(){
  print('hoge'.length);
  // 4
  print(''.length);
  // 0
}

runes -> Runes read-only

文字列のUnicodeコードのイテレータを返す。

main(){
  print('hoge'.runes);
  // (104, 111, 103, 101)

  for(var c in 'hoge'.runes){
    print(c);
  }
  // 104
  // 111
  // 103
  // 101
}

runtimeType -> Type read-only, inherited

型名を返す。

class A{}
main(){
  var a = new A();
  print(a.runtimeType);
  // A
  print('hoge'.runtimeType);
  // String
}

オペレータ

operator *(int times) -> String

文字列をtimes回繰り返した文字列を返す。

main(){
  print('abc' * 2);
  // abcabc
}

operator +(String other) -> String

文字列同士を結合する。

main(){
  print('abc' + 'def');
  // abcdef
}

operator ==(Object other) -> bool

文字列が同じであるか判定する。

main(){
  var a = 'abc';
  var b = 'abc';
  var c = 'def';
  print(a == b);
  // true
  print(a == c);
  // false
  print(b == c);
  // false
}

operator [](int index) -> String

文字列のindex番目の文字を取得する。(0オリジン)

main(){
  var str = 'abc';
  print(str[0]);
  // a
  print(str[2]);
  // c
}

メソッド

あとで書く。