[Dart]ランダムな文字列を生成するには?

Dart

どうも、ちょげ(@chogetarou)です。

Dartでランダムな文字列を生成する方法を紹介します。

スポンサーリンク

方法

コンピューター, ノート, オフィス, コード, プログラミング, プログラム

ランダムな文字列を生成するには、使用する文字をまとめた文字列とRandomを使います。

まず、使用する文字をまとめた文字列とRandom()を用意します。

const characters = 'あいうえおかきくけこさしすせそたちつてと'; 
var random = Random();

そして、「String.fromaCharCode」と「Iterable.generate」によって、用意した文字列からランダムに文字列を生成します。

var randomStr = String.fromCharCodes(Iterable.generate(
    文字列の長さ, (_) => characters.codeUnitAt(random.nextInt(characters.length))));

Iterable.generateの第1引数の文字列の長さに指定した分だけの文字が、用意した文字列から取得され、ランダムな文字列となります。

Randomを使うには、mathライブラリをインポートする必要があります。

import 'dart:math';

関数を使えば、ランダムな文字列の長さを簡単に変えられるようになります。

String randomStr (int length) {
   const characters = 'あいうえおかきくけこさしすせそたちつてと'; 
   var random = Random();
  
   var randomStr = String.fromCharCodes(Iterable.generate(
   length, (_) => characters.codeUnitAt(random.nextInt(characters.length))));
    
   return randomStr;
}

使用例

import 'dart:math';

void main() {
  var random10 = randomStr(10);
  var random20 = randomStr(20);
  
  print(random10); //きとたすしいおそたけ
  print(random20); //しいさすあたこたけあてかくちくこきとかと

}

String randomStr (int length) {
   const characters = 'あいうえおかきくけこさしすせそたちつてと'; 
   var random = Random();
  
   var randomStr = String.fromCharCodes(Iterable.generate(
   length, (_) => characters.codeUnitAt(random.nextInt(characters.length))));
    
   return randomStr;
}

コメント

タイトルとURLをコピーしました