PascalABC.NET 3.8開發環境發布

PascalABC.NET 3.8 程式系統版本現已發布,提供 Pascal 程式語言版本,支援 .NET 平台的程式碼產生、使用 .NET 程式庫的能力以及通用類別、介面等附加功能、運算子重載、λ 表達式、異常、垃圾收集、擴充方法、無名類別和自動類別。 該項目主要集中在教育和科學研究方面的應用。 該軟體包還包括一個帶有程式碼提示、自動格式化、調試器、表單設計器和初學者程式碼範例的開發環境。 專案代碼根據 LGPLv3 許可證分發。 可以在 Linux(基於 Mono)和 Windows 上建置。

新版本的變更:

  • 增加了對多維數組切片的支援 begin var m := MatrByRow(||1,2,3,4|,|5,6,7,8|,|9,10,11,12||); Println(m[:,:]); // [[1,2,3,4],[5,6,7,8],[9,10,11,12]] Println(m[::1,::1]); // [[1,2,3,4],[5,6,7,8],[9,10,11,12]] Println(m[1:3,1:4]); // [[6,7,8],[10,11,12]] Println(m[::2,::3]); // [[1,4],[9,12]] Println(m[::-2,::-1]); // [[12,11,10,9],[4,3,2,1]] Println(m[^2::-1,^2::-1]); // [[7,6,5],[3,2,1]] Println(m[:^1,:^1]); // [[1,2,3],[5,6,7]] Println(m[1,:]); // [5,6,7,8] Println(m[^1,:]); // [9,10,11,12] Println(m[:,^1]); // [4,8,12] 結束。
  • 新增了具有解包參數(元組或序列)的 lambda 表達式。 現在可以直接在 lambda 參數中命名元組的元素。 若要將元組參數 t 解壓縮為變數 x 和 y,請使用符號 \\(x,y)。 這是一個參數,與表示法(x,y) 不同,後者表示兩個參數: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova', 17 ),('科茲洛夫', 24)); Println('成人:'); s.Where(\\(姓名,年齡) -> 年齡 >= 18).Println; Println('按姓氏排序:'); s.OrderBy(\\(姓名,年齡) -> 姓名).Println; 結尾。
  • 允許使用「a 作為 T 的陣列」的結構,這在語法層級上是被禁止的。 開始 var ob: 物件 := 新整數[2,3]; var a := ob 為整數陣列 [,]; 結尾。

來源: opennet.ru

添加評論