W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
元組是將可能不同類型的固定數(shù)量的值捆綁在一起的一種方法。
元組類型的語法是括號括起來的逗號分隔的列表:
tuple(value1, ..., value n); // for creation
(type1, ..., type n); // for annotation.
元組注釋中的類型可以是類型系統(tǒng)中的任何類型,除了void。
以下示例顯示了用元組創(chuàng)建和注釋
<?hh
namespace Hack\UserDocumentation\Tuples\Introduction\Examples\CreateAndAnnotate;
function find_longest_and_index(array<string> $strs): (string, int) {
$longest_index = -1;
$longest_str = "";
foreach ($strs as $index => $str) {
if (strlen($str) > strlen($longest_str)) {
$longest_str = $str;
$longest_index = $index;
}
}
return tuple($longest_str, $longest_index);
}
function run(): void {
$strs = array("ABCDE", "tjkdsfjkwewowe", "Hello, this is an intro of tuples");
var_dump(find_longest_and_index($strs));
}
run();
Output
array(2) {
[0]=>
string(33) "Hello, this is an intro of tuples"
[1]=>
int(2)
}
元組也可以在類屬性的初始化表達式中使用。
<?hh
namespace Hack\UserDocumentation\Tuples\Introduction\Examples\Initializers;
class A {
private $inst = tuple(2, "hi");
public static $stat = tuple(array(1, 2), Vector {3, 4});
}
function run(): void {
var_dump(new A());
var_dump(A::$stat);
}
run();
Output
object(Hack\UserDocumentation\Tuples\Introduction\Examples\Initializers\A)#2 (1) {
["inst":"Hack\UserDocumentation\Tuples\Introduction\Examples\Initializers\A":private]=>
array(2) {
[0]=>
int(2)
[1]=>
string(2) "hi"
}
}
array(2) {
[0]=>
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
[1]=>
object(HH\Vector)#1 (2) {
[0]=>
int(3)
[1]=>
int(4)
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: