Keluaran persekitaran pembangunan PascalABC.NET 3.8

Keluaran sistem pengaturcaraan PascalABC.NET 3.8 tersedia, menawarkan edisi bahasa pengaturcaraan Pascal dengan sokongan untuk penjanaan kod untuk platform .NET, keupayaan untuk menggunakan perpustakaan .NET dan ciri tambahan seperti kelas generik, antara muka, pengendali terlebih muatan, Ξ»-ungkapan, pengecualian, kutipan sampah , kaedah sambungan, kelas tidak dinamakan dan kelas auto. Projek ini tertumpu terutamanya pada aplikasi dalam pendidikan dan penyelidikan. Pakej ini juga termasuk persekitaran pembangunan dengan pembayang kod, pemformatan automatik, penyahpepijat, pereka bentuk dan sampel kod untuk pemula. Kod projek diedarkan di bawah lesen LGPLv3. Boleh dibina pada Linux (berasaskan Mono) dan Windows.

Perubahan dalam keluaran baharu:

  • Sokongan tambahan untuk menghiris tatasusunan berbilang dimensi bermula 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] tamat.
  • Menambah ungkapan lambda dengan parameter pembongkaran yang merupakan tupel atau jujukan. Kini anda boleh menamakan unsur tupel secara langsung dalam parameter lambda. Untuk membongkar parameter tuple t ke dalam pembolehubah x dan y, gunakan tatatanda \\(x,y). Ini adalah satu parameter, tidak seperti notasi (x,y), yang mewakili dua parameter: begin var s := Seq(('Umnova',16),('Ivanov',23), ('Popova',17), (' Kozlov', 24)); Println('Dewasa:'); s.Di mana(\\(nama,umur) -> umur >= 18).Println; Println('Isih mengikut nama akhir:'); s.OrderBy(\\(nama,umur) -> nama).Println; tamat.
  • Pembinaan "a sebagai tatasusunan T" dibenarkan, yang sebelum ini dilarang di peringkat tatabahasa. mulakan var ob: object := new integer[2,3]; var a := ob sebagai tatasusunan [,] integer; tamat.

Sumber: opennet.ru

Tambah komen