/** * @param \FilesystemIterator|string[] $files * @param string[]|null $filenames 指定されていれば、$filesからファイル名を抽出する代わりにこちらを利用します。 * @throws \DomainException $filenamesのみが指定されている場合、または$filesが配列で$filenamesも指定されている場合。 */ public function __construct($files = [], array $filenames = null) { parent::__construct(); if (!$files && $filenames || is_array($files) && $filenames) { new \DomainException(); } if ($files) { if (is_array($files)) { $this->filenames = $files; } else { $this->files = $files; if ($this->files) { if ($filenames) { $this->filenames = $filenames; } else { $files->setFlags(\FilesystemIterator::KEY_AS_FILENAME | \FilesystemIterator::CURRENT_AS_FILEINFO | \FilesystemIterator::SKIP_DOTS); $this->filenames = array_keys(iterator_to_array($files)); } } } } $this->validator = new validator\WordValidator($this->filenames); }
/** * @param string $to */ public function __construct(string $to = '汎用辞書') { parent::__construct(); $this->to = in_array($to, ['キャッチフィーリング', 'きゃっちま', 'Inteligenceω クイズ', 'Inteligenceω しりとり', 'ピクトセンス']) ? $to : '汎用辞書'; }