午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

PHP基礎(chǔ)之生成器4——比較生成器和迭代器對象

瀏覽:198日期:2022-09-15 09:50:00

生成器最大的優(yōu)勢就是簡單,和實現(xiàn)Iterator的類相比有著更少的樣板代碼,并且代碼的可讀性也更強. 例如, 下面的函數(shù)和類是等價的:

<?php function getLinesFromFile($fileName) {if (!$fileHandle = fopen($fileName, ’r’)) { return;}while (false !== $line = fgets($fileHandle)) { yield $line;}fclose($fileHandle); } // versus... class LineIterator implements Iterator {protected $fileHandle;protected $line;protected $i;public function __construct($fileName) { if (!$this->fileHandle = fopen($fileName, ’r’)) {throw new RuntimeException(’Couldn’t open file '’ . $fileName . ’'’); }}public function rewind() { fseek($this->fileHandle, 0); $this->line = fgets($this->fileHandle); $this->i = 0;}public function valid() { return false !== $this->line;}public function current() { return $this->line;}public function key() { return $this->i;}public function next() { if (false !== $this->line) {$this->line = fgets($this->fileHandle);$this->i++; }}public function __destruct() { fclose($this->fileHandle);} }?>

這種靈活性也付出了代價:生成器是前向迭代器,不能在迭代啟動之后往回倒. 這意味著同一個迭代器不能反復(fù)多次迭代: 生成器需要需要重新構(gòu)建調(diào)用,或者通過clone關(guān)鍵字克隆.

標簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 精品久久久久久久 | 日韩一区二区三区四区视频 | 欧美1级片 | 日韩欧美无 | v片在线免费观看 | 97免费公开视频 | 亚洲欧美在线看 | 精品亚洲在线 | 三级福利片 | 我想看黄色一级片 | 日本猛少妇色xxxxx猛叫 | 国产无套丰满白嫩对白 | 欧美系列第一页 | 97在线视频免费观看 | 久草日韩 | 久久综合五月 | 91在线免费视频 | 成年人黄色免费网站 | 草久久久久久 | 亚洲精品xxx | 香蕉视频com | 国产精品国产精品国产专区蜜臀ah | 国产视频你懂的 | 中文字幕综合在线 | 欧美成人小视频 | 国产精品久久久久久久久果冻传媒 | 天天天干 | 涩涩网站在线观看 | 国产精品视屏 | 中文一级片 | 国产香蕉97碰碰碰视频在线观看 | 久草国产在线视频 | 少妇精品一区二区三区 | 成年黄色片 | 九九天堂 | 国产精品成人一区二区网站软件 | 色播视频在线 | 日韩高清av在线 | 日韩美女视频19 | 亚洲天堂黄色片 | 国产高清免费av |