Slicing array
Termasuk bagian Dasar-Dasar dalam perjalanan GDScript di Coddy. Pelajaran 73 dari 92.
method slice() mengembalikan array baru yang berisi sebagian elemen. slice(begin, end) mengambil elemen mulai dari indeks begin hingga indeks end, tetapi tidak termasuk indeks tersebut:
var numbers := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers.slice(2, 6))[2, 3, 4, 5]Tanpa end, slice berlanjut hingga akhir array:
print(numbers.slice(5))[5, 6, 7, 8, 9]Indeks negatif dihitung dari akhir. slice(-3) mengambil tiga elemen terakhir, dan slice(0, -2) mengambil semua elemen kecuali dua elemen terakhir:
print(numbers.slice(-3))
print(numbers.slice(0, -2))[7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7]Argumen ketiga, step, mengambil setiap elemen ke-n. slice(1, 8, 2) mengambil indeks 1, 3, 5, dan 7:
print(numbers.slice(1, 8, 2))[1, 3, 5, 7]slice() tidak mengubah array asli: numbers tetap berisi sepuluh elemen.
Tantangan
MudahProgram membaca satu baris item yang dipisahkan dengan koma ke dalam array items (sudah ditulis). Cetak bagian tengah array dengan slice():
- Jika jumlah item ganjil, cetak item tengah dan satu item di setiap sisinya (3 item; jika hanya ada satu item, cetak item itu)
- Jika jumlahnya genap, cetak dua item tengah
Untuk apple,banana,orange,grape, output-nya adalah ["banana", "orange"], dan untuk a,b,c,d,e, output-nya adalah ["b", "c", "d"].
Coba sendiri
extends Node
func _ready():
var items := OS.read_string_from_stdin().split(",")
# Cetak item-item di tengah
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaPembagian Bilangan BulatOperator ModuloPintasan AritmetikaRangkuman: Matematika SederhanaOperator Perbandingan7Dasar Input dan Output
OutputOutput dengan VariabelPemformatan stringInputKonversi TipeRangkuman: Hingga 120Rangkuman: Benar atau Salah10Fungsi
Deklarasikan FungsiArgumenNilai KembaliTipe Nilai KembaliRangkuman, Fungsi SigmaRangkuman, Fungsi ValidasiNilai Default5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Rangkuman: Logika SederhanaOperator Logika Bagian 3Operator Ternary8Kalkulator Pembagian Tagihan
Pesan SambutanMenerima input11FizzBuzz dengan Variasi
Gambaran Umum PermainanFungsi FizzBuzz3Variabel Bagian 2
Deklarasi TipeInferensi TipeKonstantaRingkasan: Inisialisasi VariabelKonversi Tipe6Pengambilan Keputusan
Pernyataan IfIf - ElseUlasan: Kalkulator SederhanaIf - Else BersarangPernyataan Match9Perulangan
For loopWhile loopBreakContinueRingkasan: FaktorialFungsi rangeNested loopRingkasan: Input dinamisLatihan sendiri: Compiler GDScript online