1guard let unwrappedValue = optionalValue else {
2 // Виїжджаємо з функції, якщо value є nil
3 return
4}
5
optionalValue
є nil
, код у блоці else
виконується, і функція покидає потік, що підвищує безпеку програми.1func findElement(in array: [Int], element: Int) {
2 guard array.contains(element) else {
3 print("Цей елемент не знайдено в масиві.")
4 return
5 }
6 print("Елемент $element) знайдено в масиві.")
7}
8
9findElement(in: [1, 2, 3, 4], element: 5)
10
1func processNumber(_ number: Int?) {
2 guard let validNumber = number else {
3 print("Число є nil.")
4 return
5 }
6 print("Число: $validNumber)")
7}
8
9processNumber(nil)
10processNumber(42)
11
1func registerUser(email: String?) {
2 guard let emailExists = email else {
3 print("Необхідно вказати електронну адресу.")
4 return
5 }
6 print("Реєстрація користувача з адресою: $emailExists)")
7}
8
9registerUser(email: nil)
10registerUser(email: "[email protected]")
11
if-else
, щоб приділити більше уваги конкретним умовам.1if let validValue = optionalValue {
2 // Виконаємо дії з validValue
3} else {
4 print("optionalValue було nil")
5}
6
1let person = {
2 name: "Іван",
3 age: 30,
4 greet: function() {
5 console.log("Привіт, мене звуть " + this.name);
6 }
7};
8person.greet(); // Привіт, мене звуть Іван
9
1function Person(name, age) {
2 this.name = name;
3 this.age = age;
4}
5
6let person1 = new Person("Олена", 25);
7let person2 = new Person("Степан", 28);
8
1function createPerson(name, age) {
2 return {
3 name: name,
4 age: age
5 };
6}
7
8let person1 = createPerson("Олена", 25);
9let person2 = createPerson("Степан", 28);
10
1let person = {
2 name: "Іван",
3 age: 30
4};
5
6console.log(person.name); // Іван
7console.log(person["age"]); // 30
8
delete
.1function printPerson(person) {
2 console.log("Ім'я: " + person.name);
3 console.log("Вік: " + person.age);
4}
5
6printPerson(person1);
7
1let people = [
2 { name: "Олена", age: 25 },
3 { name: "Степан", age: 28 }
4];
5
6people.forEach(function(person) {
7 console.log(person.name + " - " + person.age);
8});
9
1person.sayHello = function() {
2 console.log("Привіт, я " + this.name);
3};
4
5person.sayHello(); // Привіт, я Іван
6
1Person.prototype.sayHello = function() {
2 console.log("Привіт, я " + this.name);
3};
4
5let person1 = new Person("Олена", 25);
6person1.sayHello(); // Привіт, я Олена
7
1function Animal(name) {
2 this.name = name;
3}
4
5Animal.prototype.speak = function() {
6 console.log(this.name + " робить звук.");
7};
8
9let dog = new Animal("Собака");
10dog.speak(); // Собака робить звук.
11
1/my_flutter_app
2 ├── android
3 ├── ios
4 ├── lib
5 └── main.dart
6 ├── test
7 └── pubspec.yaml
8
StatelessWidget
, якщо компонент статичний, або StatefulWidget
, якщо він динамічний.1import 'package:flutter/material.dart';
2
3void main() {
4 runApp(MyApp());
5}
6
7class MyApp extends StatelessWidget {
8 @override
9 Widget build(BuildContext context) {
10 return MaterialApp(
11 home: Scaffold(
12 appBar: AppBar(
13 title: Text('Мій перший компонент'),
14 ),
15 body: Center(
16 child: MyButton(),
17 ),
18 ),
19 );
20 }
21}
22
23class MyButton extends StatelessWidget {
24 @override
25 Widget build(BuildContext context) {
26 return ElevatedButton(
27 onPressed: () {
28 ScaffoldMessenger.of(context).showSnackBar(
29 SnackBar(content: Text('Кнопка натиснута!')),
30 );
31 },
32 child: Text('Натисни мене'),
33 );
34 }
35}
36
MyButton
розширює StatelessWidget
. Він використовує ElevatedButton
, який надає кнопку з анімацією. Ви можете додати стиль за допомогою параметрів у конструкторах віджетів.onPressed
, ми можемо відобразити SnackBar
— сповіщення, яке з'являється внизу екрана.const
для статичних виджетів. Це дозволяє Flutter уникати повторних обчислень.StatelessWidget
або StatefulWidget
, і визначте метод build
, в якому ви будете повертати виджет.flutter run
, щоб перевірити, як компоненти працюють.Article
. Ось як це може виглядати:1require 'test_helper'
2
3class ArticleTest < ActiveSupport::TestCase
4 test "should not save article without title" do
5 article = Article.new
6 assert_not article.save, "Saved the article without a title"
7 end
8end
9
rails test
або rspec
для запуску тестів.