diff --git a/en/README.md b/en/README.md index df635b4..5e9a8b1 100644 --- a/en/README.md +++ b/en/README.md @@ -1 +1,68 @@ -# Examples +# V by Example + +[Brazilian Portuguese](/pt-br/README.md) | [Deutsch](/de/README.md) | [English](README.md) | [Bahasa Indonesia](/id/README.md) +> Learn V by Examples + +V by Example is a direct introduction to V by using annotated program examples. + +- [Examples](#examples) +- [Contributing](#contributing) +- [License](#license) + +Discord: [https://discord.gg/d3Qk65J](https://discord.gg/d3Qk65J) + +## Section 1 + +Introduction to V by presenting a few basic examples and exercises. + +- [Hello World](en/examples/section_1/hello_world.md) +- [V Keywords](en/examples/section_1/keywords.md) +- [Primitives](en/examples/section_1/primitives.md) +- [Variables](en/examples/section_1/variables.md) +- [Strings](en/examples/section_1/strings.md) +- [Comment](en/examples/section_1/comment.md) + +## Section 2 + +This section discusses the main operators and conditional statements in V. + +- [Operator](en/examples/section_2/operator.md) +- [If-else](en/examples/section_2/if-else.md) +- [Match](en/examples/section_2/match.md) +- [Loops](en/examples/section_2/loops.md) + +## Section 3 + +A study on functions and methods and in the most important data structures in V: arrays and struct. + +- [Functions](en/examples/section_3/functions.md) +- [Arrays](en/examples/section_3/arrays.md) +- [Struct](en/examples/section_3/struct.md) +- [Methods](en/examples/section_3/methods.md) + +## Section 4 + +In this section, we dive deeper and study the features inside the Array object. Other examples like JSON, Writing/reading files and Testing are covered. + +- [Array Functions](en/examples/section_4/array-functions.md) +- [Testing](en/examples/section_4/testing.md) +- [Files](en/examples/section_4/files.md) +- [JSON](en/examples/section_4/json.md) + +## Team + +Current list of maintainers/authors: + +- [Don Alfons Nisnoni](https://github.com/dhonx) +- [Ivo-Balbaert](https://github.com/ibalbaert) +- [Sven Patrick Meier](https://github.com/SuicideS3ason) +- [Swastik Baranwal](https://github.com/Delta456) +- [Vitor Oliveira](https://github.com/vbrazo) + +## Contributing + +See our [CONTRIBUTING.md](CONTRIBUTING.md) and start contributing today. We usually elect new maintainers based on contributions. + +## License + +[MIT](LICENSE) diff --git a/id/CONTRIBUTING.md b/id/CONTRIBUTING.md index e20e9a4..b28e8c9 100644 --- a/id/CONTRIBUTING.md +++ b/id/CONTRIBUTING.md @@ -1,28 +1,28 @@ -# Contributing +# Berkontribusi -## General +## Aturan Umum -Please ensure your pull request adheres to the following guidelines: +Harap pastikan _pull request_ kamu memenuhi panduan berikut: -* New example or improvements to existing examples are welcome. -* Please check your spelling and grammar. +* Contoh baru atau peningkatan pada contoh yang sudah ada dipersilakan. +* Silakan periksa ejaan dan tata bahasa kamu. -## Adding a New Example +## Menambahkan Contoh Baru -To add a new example, create a new folder and a file or a file (depending upon the example) under the appropriate directory in `./examples`. Please check the `.plan` file to see what examples we plan to create. Feel free to work on any pending examples. We're happy to read/review your changes and collaborate/code with you to merge them. +Untuk menambahkan contoh baru, buatlah folder baru atau file baru(tergantung pada contoh) di dalam direktori yang sesuai di `./examples`. Silakan periksa file `.plan` untuk melihat contoh apa yang kami rencanakan untuk dibuat. Jangan ragu untuk mengerjakan contoh yang tertunda. Kami senang membaca/meninjau perubahan kamu dan berkolaborasi/kode dengan kamu untuk menggabungkannya. -Thank you for your contributions! +Terima kasih atas kontribusimu! -## Getting started with the project +## Memulai dengan proyek -### 1. Fork and clone this repository +### 1. _Fork_ dan klon repositori ini -[Fork this repository](https://github.com/v-community/v_by_example/fork) and clone your fork. If you don't know what forking means or don't know how to do it, nice instructions are available [here](https://help.github.com/articles/fork-a-repo/). +[_Fork_ repositori ini](https://github.com/v-community/v_by_example/fork) dan kloning-lah repositori yang telah kamu _fork_. Jika kamu tidak tahu apa arti _forking_ atau tidak tahu bagaimana melakukannya, instruksi yang bagus tersedia [di sini](https://help.github.com/articles/fork-a-repo/). -#### 2. Make your changes and push them +#### 2. Buatlah perubahan dan _push_ -Now you're ready to make your changes! Once you're done with your changes, push those changes to your fork and then [submit a **pull request**](https://help.github.com/articles/using-pull-requests/). +Sekarang kamu siap untuk melakukan perubahan! Setelah kamu selesai dengan perubahan kamu, push perubahan itu ke garpu kamu dan kemudian [masukkanlah _**pull request**_](https://help.github.com/articles/using-pull-requests/). -## License +## Lisensi -This code is free to use under the terms of the MIT license. +Kode ini gratis untuk digunakan di bawah ketentuan lisensi MIT. diff --git a/id/README.md b/id/README.md index 52e8e28..d649562 100644 --- a/id/README.md +++ b/id/README.md @@ -34,7 +34,7 @@ Bagian ini membahas tentang operator utama dan pernyataan bersyarat dalam V. ## Bagian 3 -Bagian ini membahas tentang fungsi dan metode dan dalam struktur data yang paling penting dalam V: array dan struct. +Bagian ini membahas tentang fungsi dan metode dan dalam struktur data yang paling penting dalam V: _array_ dan _struct._ * [Functions](examples/section_3/functions.md) * [Arrays](examples/section_3/arrays.md) @@ -43,7 +43,7 @@ Bagian ini membahas tentang fungsi dan metode dan dalam struktur data yang palin ## Bagian 4 -Di bagian ini, kita akan membahas lebih dalam dan mempelajari fitur-fitur di dalam objek Array. Contoh-contoh lain seperti JSON, Menulis / membaca file dan Testing juga akan dibahas. +Di bagian ini, kita akan membahas lebih dalam dan mempelajari fitur-fitur di dalam objek _Array_. Contoh-contoh lain seperti _JSON_, Menulis/membaca _file_ dan _testing_. * [Array Functions](examples/section_4/array-functions.md) * [Testing](examples/section_4/testing.md) @@ -62,7 +62,7 @@ Daftar pengelola/penulis saat ini: ## Berkontribusi -Lihat [CONTRIBUTING.md](CONTRIBUTING.md) kami dan mulai berkontribusi hari ini. Kami biasanya memilih pengelola baru berdasarkan kontribusi +Lihatlah [CONTRIBUTING.md](CONTRIBUTING.md) kami dan mulai berkontribusi hari ini. Kami biasanya memilih pengelola baru berdasarkan kontribusi ## Lisensi diff --git a/id/examples/section1/README.md b/id/examples/section1/README.md index 0ce88dc..ccb9d25 100644 --- a/id/examples/section1/README.md +++ b/id/examples/section1/README.md @@ -1,3 +1,4 @@ # Bagian 1 +- [Hello World](hello_world.md) - [Variabel](variables.md) diff --git a/id/examples/section1/hello_world.md b/id/examples/section1/hello_world.md new file mode 100644 index 0000000..b761295 --- /dev/null +++ b/id/examples/section1/hello_world.md @@ -0,0 +1,48 @@ +# Formatted Print + +_Print_ ditangani oleh berbagai fungsi _I/O stream_. Kamu harus tahu di mana harus menggunakannya. + +- `print`: untuk mencetak teks ke _output stream_ tanpa baris baru. + +- `println`: sama seperti `print` tetapi baris baru ditambahkan secara otomatis. + +- `eprint`: sama seperti `print` tetapi _output_ menuju ke _error stream_(stderr). + +- `eprintln`: sama dengan `println` tetapi _output_ menuju _error stream_(stderr). + +- `panic`: mencetak teks ke _output_ dan keluar dari program. + +```v +print('Hello World') +print('Hello V') +``` + +Ini akan mencetak `Hello WorldHello V` + +Jika kamu ingin mencetak teks berikutnya pada baris baru, kamu harus melakukan dengan menambahkan `\n`. + +```v +print('Hello World \n') +print('Hello V ') +``` + +Jika kamu tidak ingin menggunakan `\n` maka kamu dapat menggunakan `println`. + +## Komentar + +V mendukung komentar baris tunggal `//` dan komentar multi-baris `/ * * /`. +Mereka biasanya digunakan untuk mendokumentasikan kode untuk membiarkan pengguna lain tahu cara kerja kode tersebut. +Ini juga dapat digunakan untuk mengomentari sementara kode yang akan digunakan nantinya. + +```v +// Ini adalah komentar satu baris + +/* Ini adalah sebuah +* komentar multi-baris +* / * Ini bisa disarangkan juga * / +* / +``` + +## Latihan + +Coba hapuslah komentar pada kode di `hello.v` dan lihat apa yang terjadi. diff --git a/id/examples/section1/keywords.md b/id/examples/section1/keywords.md new file mode 100644 index 0000000..4528ba5 --- /dev/null +++ b/id/examples/section1/keywords.md @@ -0,0 +1,14 @@ +# Kata Kunci + +V adalah bahasa yang sangat ringan sehingga hanya memiliki beberapa kata kunci. +Ada sekitar 25 kata kunci. + +| | | | | | +| ----- | ------ | --- | -------- | --------- | +| break | const | as | continue | defer | +| else | enum | fn | for | struct | +| go | goto | if | import | return | +| type | pub | mut | in | interface | +| match | module | or | none | | + +Seperti bahasa pemrograman lain, mereka tidak dapat digunakan sebagai nama variabel. diff --git a/id/examples/section1/variables.md b/id/examples/section1/variables.md index b2bc410..11553d0 100644 --- a/id/examples/section1/variables.md +++ b/id/examples/section1/variables.md @@ -1,6 +1,6 @@ # Variabel -Variabel pada V dapat dinyatakan dan diinisialisasi dengan `:=` operator. Variabel hanya dapat dideklarasikan dengan cara ini dalam V, ini berarti semua variabel memiliki nilai awal. Jenis variabel disimpulkan dari nilai di sisi kanan. Secara _default_ variabel dalam V tidak dapat diubah(_immutable_). +Variabel pada V dapat dinyatakan dan diinisialisasi dengan operator `:=`. Variabel hanya dapat dideklarasikan dengan cara ini, ini berarti semua variabel memiliki nilai awal. Jenis variabel disimpulkan dari nilai di sisi kanan. Secara _default_ variabel dalam V tidak dapat diubah(_immutable_). ```go umur := 23 // int @@ -14,7 +14,7 @@ println(sudah_dewasa) // true > Catatan: Variabel hanya dapat didefinisikan di dalam suatu fungsi. Tidak ada variabel global dan tidak ada variabel global di V. -Untuk mengubah nilai variabel, kita harus membuatnya _mutable_. Ini dapat dilakukan dengan menggunakan _keyword_ `mut` ketika mendeklarasikan variabel. Untuk menetapkan nilai baru ke variabel, gunakan `=` +Untuk mengubah nilai variabel, kita harus membuatnya _mutable_. Ini dapat dilakukan dengan menggunakan _keyword_ `mut` ketika mendeklarasikan variabel. Untuk menetapkan nilai baru ke variabel, gunakanlah operator `=` ```go mut umur := 20 // mendeklarasikan umur variabel yang bisa berubah dan menetapkannya ke nilai 20. @@ -44,7 +44,7 @@ fn main() { di sini `age: = 21` akan menghasilkan _error_ lain ketika dikompile karena variabel `umur` sudah didefinisikan dalam ruang lingkup. Sangat mudah diingat, cukup nyatakan nilai dengan `:=` dan tetapkan nilai dengan `=`. -Seperti Go, Kamu juga dapat menggunakan `_` untuk mengabaikan nilai saat tidak diperlukan. Biasanya digunakan dalam fungsi _multi return_. +Seperti Go, Kamu juga dapat menggunakan `_` untuk mengabaikan nilai saat tidak diperlukan. Biasanya cara ini digunakan dalam fungsi _multi return_. ```go _ := "Saya tidak membutuhkan nilai ini"