跳轉到內容

Plezuro/列表

來自華夏公益教科書,開放的書籍,開放的世界

Plezuro 中重要的型別之一是列表。它等同於 .NET List<object> 和 Java ArrayList<Object>。要建立列表,只需使用方括號 ('[', ']')。在中間程式碼中,它被翻譯成 '::array()'。列表的元素可以是任何型別(包括列表),它們是透過引用傳遞的,因此列表可以包含自身。

$x = [1,2,3,'something',[3,4]];
'x'.dumpl;
x.each({
  args.printl
});
x.each({
  this.printl
});

正如您在上面看到的,您可以透過多種方式列印列表的元素。最簡單的方法是使用 dumpl 函式(它適用於 Plezuro 中的任何型別)。另一種方法是使用 each 方法。'args' 表示傳遞給函式的所有引數(在本例中為元組 (value, index)),而 'this' 表示引數 #0(在本例中僅為值)。

現在,我想您想知道如何訪問列表中指定元素(獲取和設定其值)。這很簡單,就像在其他語言中一樣,使用方括號。

$list = [3,9,4];
'list'.dumpl;
list[0].printl;
list[1] = 'abc';
'list'.dumpl;
});

列表和其他變數一樣,是透過引用傳遞的。

$a = [0,0,1];
$b = a;
b[0] = 90;
a

現在,如何對列表進行排序呢?

$x = [4,5,2,90,452,1,-34,20];
x.sort.printl; //sorting just by value
x.orderBy{args%10}.printl; //sorting by last digit (for negative numbers we assume the last digit is negative)

現在,再談談索引。您可以像在 Ruby 中一樣訪問列表的一部分(使用 '..' 運算子)。例如 a[1..4]。不同之處在於,在 Ruby 中,它返回從索引 1 到索引 4 的元素,但在 Plezuro 中,它返回從索引 1 到索引 3 的元素。另一個有趣的特性是,當使用逗號時,您可以訪問列表的不相交部分(例如第一個和第四個元素)。索引可能會返回一個空物件、一個單個變數或一個元組。當然,您可以修改列表的全部部分。

華夏公益教科書