From 6ca5fa8cf1f0b6a4044eab9f6fd9658feda638d3 Mon Sep 17 00:00:00 2001 From: Aleksey Filippov Date: Thu, 3 Oct 2024 21:59:50 +0400 Subject: [PATCH] Add lec2 example --- lec2/.gitignore | 3 + lec2/.idea/.gitignore | 3 + lec2/.idea/caches/deviceStreaming.xml | 318 +++++++++++++++++++ lec2/.idea/libraries/Dart_Packages.xml | 412 ++++++++++++++++++++++++ lec2/.idea/libraries/Dart_SDK.xml | 29 ++ lec2/.idea/misc.xml | 6 + lec2/.idea/modules.xml | 8 + lec2/.idea/vcs.xml | 6 + lec2/CHANGELOG.md | 3 + lec2/README.md | 1 + lec2/analysis_options.yaml | 30 ++ lec2/bin/main.dart | 414 +++++++++++++++++++++++++ lec2/dart.iml | 14 + lec2/lib/mystatic.dart | 7 + lec2/lib/mytest2.dart | 6 + lec2/pubspec.lock | 402 ++++++++++++++++++++++++ lec2/pubspec.yaml | 15 + 17 files changed, 1677 insertions(+) create mode 100644 lec2/.gitignore create mode 100644 lec2/.idea/.gitignore create mode 100644 lec2/.idea/caches/deviceStreaming.xml create mode 100644 lec2/.idea/libraries/Dart_Packages.xml create mode 100644 lec2/.idea/libraries/Dart_SDK.xml create mode 100644 lec2/.idea/misc.xml create mode 100644 lec2/.idea/modules.xml create mode 100644 lec2/.idea/vcs.xml create mode 100644 lec2/CHANGELOG.md create mode 100644 lec2/README.md create mode 100644 lec2/analysis_options.yaml create mode 100644 lec2/bin/main.dart create mode 100644 lec2/dart.iml create mode 100644 lec2/lib/mystatic.dart create mode 100644 lec2/lib/mytest2.dart create mode 100644 lec2/pubspec.lock create mode 100644 lec2/pubspec.yaml diff --git a/lec2/.gitignore b/lec2/.gitignore new file mode 100644 index 0000000..3a85790 --- /dev/null +++ b/lec2/.gitignore @@ -0,0 +1,3 @@ +# https://dart.dev/guides/libraries/private-files +# Created by `dart pub` +.dart_tool/ diff --git a/lec2/.idea/.gitignore b/lec2/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/lec2/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/lec2/.idea/caches/deviceStreaming.xml b/lec2/.idea/caches/deviceStreaming.xml new file mode 100644 index 0000000..af74dbf --- /dev/null +++ b/lec2/.idea/caches/deviceStreaming.xml @@ -0,0 +1,318 @@ + + + + + + \ No newline at end of file diff --git a/lec2/.idea/libraries/Dart_Packages.xml b/lec2/.idea/libraries/Dart_Packages.xml new file mode 100644 index 0000000..9cfe7ad --- /dev/null +++ b/lec2/.idea/libraries/Dart_Packages.xml @@ -0,0 +1,412 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lec2/.idea/libraries/Dart_SDK.xml b/lec2/.idea/libraries/Dart_SDK.xml new file mode 100644 index 0000000..5f8cc5f --- /dev/null +++ b/lec2/.idea/libraries/Dart_SDK.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lec2/.idea/misc.xml b/lec2/.idea/misc.xml new file mode 100644 index 0000000..639900d --- /dev/null +++ b/lec2/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/lec2/.idea/modules.xml b/lec2/.idea/modules.xml new file mode 100644 index 0000000..af91433 --- /dev/null +++ b/lec2/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/lec2/.idea/vcs.xml b/lec2/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/lec2/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/lec2/CHANGELOG.md b/lec2/CHANGELOG.md new file mode 100644 index 0000000..effe43c --- /dev/null +++ b/lec2/CHANGELOG.md @@ -0,0 +1,3 @@ +## 1.0.0 + +- Initial version. diff --git a/lec2/README.md b/lec2/README.md new file mode 100644 index 0000000..b4deecb --- /dev/null +++ b/lec2/README.md @@ -0,0 +1 @@ +A sample command-line application demonstrating dart language basics. diff --git a/lec2/analysis_options.yaml b/lec2/analysis_options.yaml new file mode 100644 index 0000000..dee8927 --- /dev/null +++ b/lec2/analysis_options.yaml @@ -0,0 +1,30 @@ +# This file configures the static analysis results for your project (errors, +# warnings, and lints). +# +# This enables the 'recommended' set of lints from `package:lints`. +# This set helps identify many issues that may lead to problems when running +# or consuming Dart code, and enforces writing Dart using a single, idiomatic +# style and format. +# +# If you want a smaller set of lints you can change this to specify +# 'package:lints/core.yaml'. These are just the most critical lints +# (the recommended set includes the core lints). +# The core lints are also what is used by pub.dev for scoring packages. + +include: package:lints/recommended.yaml + +# Uncomment the following section to specify additional rules. + +# linter: +# rules: +# - camel_case_types + +# analyzer: +# exclude: +# - path/to/excluded/files/** + +# For more information about the core and recommended set of lints, see +# https://dart.dev/go/core-lints + +# For additional information about configuring this file, see +# https://dart.dev/guides/language/analysis-options diff --git a/lec2/bin/main.dart b/lec2/bin/main.dart new file mode 100644 index 0000000..4d9f000 --- /dev/null +++ b/lec2/bin/main.dart @@ -0,0 +1,414 @@ +// Импорт стороннего компонента + + +// Функция +void variablesAndDatatypes() { + // Переменные и типы данных + // Логическая переменная: истина (true) или ложь (false) + bool b = true; + // Целочисленная переменная + int i = 10; + // Вещественная переменная + double d = 10.001; + // Текстовая переменная + String s = 'Hello!'; + + // Коллекции + // Список (динамический) + List numbers = [1, 1, 2, 2, 3, 3]; + numbers.add(4); + print(numbers); + Set names = {'Ivan', 'Ivan', 'John', 'John', 'Nick', 'Nick'}; + names.add('Helen'); + print(names); + Map dict = {1: 'one', 2: 'two'}; + print(dict); + dict[0] = 'zero'; + dict[1] = 'one!'; + print(dict); +} + +void record() { + const myRecord = ('text', a: 'one', b: true, c: 3); + print(myRecord); +} + +void variables() { + // Определение типа переменной при объявлении + int i = 1; + // Автоматическое определение типа переменной при объявлении + var v = 1; + // Автоматическое определение типа переменной при объявлении + // с возможностью изменить тип переменной + dynamic d = 1; + print(d); + d = 'test'; + print(d); + // Все типы данных в Dart являются наследниками класса Object + Object o = 1; +} + +// Функция, которая возвращает значение +int getValue() { + return 10; +} + +void constants() { + const int i = 10; + const j = 10; + final int k = getValue(); + final l = getValue(); + final int m = 10; +} + +void printSmthN(String s) { + print(s); +} + +void printSmth(String? s) { + // Если s == null, то выводится правая часть выражения + // иначе будет выводится левая часть выражения + print(s ?? 'smth'); +} + +void printSmthUpper(String? s) { + // Если s == null, то выводится правая часть выражения + // иначе будет вызвана функция объекта s, + // а затем будет выводится левая часть выражения + print(s?.toUpperCase() ?? "SMTH"); +} + +void printWithError(String? s) { + print(s!.toUpperCase()); +} + +void nullables() { + int a = 10; + print(a); + int? b; + print(b); + //int c; + //print(c); + + String hello = 'Hello!'; + String? nullStr; + printSmthN(hello); + // printSmthN(nullStr); + printSmth(hello); + printSmth(nullStr); + printSmthUpper(hello); + printSmthUpper(nullStr); + printWithError(hello); + //printWithError(nullStr); +} + +void formattedStrings() { + const a = 1; + const b = 2; + print('a + b'); + // Пример интерполяции + print('$a + $b'); + // Пример интерполяции + print('${a + b}'); + + // Пример интерполяции + const sum = '${a + b}'; + // Пример соединения строк (конкатенация) + print('sum is ' + sum); + // Пример интерполяции + print('sum is $sum'); +} + +enum GenderType { man, woman, unknown } + +extension GenderTypeExt on GenderType { + void printGender() { + switch (this) { + case GenderType.man: + print('This is a man'); + case GenderType.woman: + print('This is a woman'); + default: + print('Unknown gender'); + } + } +} + +void enums() { + const gender = GenderType.man; + + print(''' + - This is a woman? + - ${gender == GenderType.woman} + '''); +} + +void conditions() { + const value = 10; + + if (value > 100) { + print('big value'); + } else if (value > 50) { + print('middle value'); + } else { + print('small value'); + } + + // Тернарный оператор + print(value > 100 + ? 'big value' + : value > 50 + ? 'middle value' + : 'small value'); + + switch (value) { + case > 100: + print('big value'); + case > 50: + print('middle value'); + default: + print('small value'); + } + + final valueType = switch (value) { + > 100 => 'big value', + > 50 => 'middle value', + _ => 'small value', + }; + print(valueType); + + const gender = GenderType.man; + switch (gender) { + case GenderType.man: + print('This is a man'); + case GenderType.woman: + print('This is a woman'); + default: + print('Unknown gender'); + } + + gender.printGender(); +} + +// Пример функции +bool isAMan(GenderType gender) { + return GenderType.man == gender; +} + +// Пример функции в функциональном стиле +bool isAWoman(GenderType gender) => GenderType.woman == gender; + +// Пример функции с именованными и неименованными параметрами +void myPrint( + String s, { + bool capitalize = false, + String? suffix, +}) { + print('${capitalize ? s.toUpperCase() : s}${suffix ?? ''}'); +} + +// Данная функция будет работать с любым списком +void printList(List list) { + if (list is List || list is List) { + print(list); + } else { + print('Unknown type ${list.runtimeType}'); + } +} + +// Примеры работы с циклами +void loops() { + final list = [1, 2, 3, 4]; + + for (int i = 0; i < list.length; i++) { + print(list[i]); + } + + for (final element in list) { + print(element); + } + + int i = 0; + while (i < list.length) { + print(list[i]); + i++; + } + + for (final element in list) { + if (element % 2 == 0) { + continue; + } + print(element); + } + + for (final element in list) { + if (element % 2 != 0) { + continue; + } + print(element); + } + + for (final element in list) { + if (element == 3) { + break; + } + print(element); + } +} + +// Объявление класса +class Car { + // Поля + final int maxSpeed; + final String? manufacturer; + + double priceInDollars = 0; + + // Конструктор + Car(this.maxSpeed, {this.manufacturer}); + + // Методы + bool canReachSpeed(int speed) => speed <= maxSpeed; + + String getInfo() => + 'car: ${manufacturer ?? 'unknown'}; max speed: $maxSpeed, price \$: ${priceInDollars.toStringAsFixed(2)}'; + + String get info => + 'car: ${manufacturer ?? 'unknown'}; max speed: $maxSpeed, price \$: ${priceInDollars.toStringAsFixed(2)}'; + + set price(double priceInRubles) => priceInDollars = priceInRubles / 100; +} + +// Пример работы с объектами класса Car +void cars() { + final unknown = Car(100); + final lada = Car(110, manufacturer: 'VAZ'); + lada.price = 26000.00; + final bmw = Car(120, manufacturer: 'BMW'); + bmw.price = 104000.23; + + print(unknown.getInfo()); + print(unknown.info); + print(lada.getInfo()); + print(lada.info); + print(bmw.getInfo()); + print(bmw.info); + print(lada.canReachSpeed(120)); + print(bmw.canReachSpeed(120)); +} + +class MyTest { + final int publicField; + final int _privateField = 10; + + MyTest(this.publicField); +} + +abstract class Vehicle { + final int maxSpeed; + + Vehicle(this.maxSpeed); + + bool canReachSpeed(int speed) => speed <= maxSpeed; +} + +class Car2 extends Vehicle { + final String? manufacturer; + + double priceInDollars = 0; + + Car2(super.maxSpeed, {this.manufacturer}); + + // Именованный конструктор + Car2.lada(super.maxSpeed) : manufacturer = 'VAZ'; + + String get info => 'car2: ${manufacturer ?? 'unknown'}; max speed: $maxSpeed'; +} + +void cars2() { + final unknown = Car2(100); + final lada = Car2.lada(110); + final bmw = Car2(120, manufacturer: 'BMW'); + + print(unknown.info); + print(lada.info); + print(bmw.info); + print(lada.canReachSpeed(120)); + print(bmw.canReachSpeed(120)); +} + +void main(List arguments) { + // Вывод данных в консоль + print('Hello!'); + + // Вызов функции + //variablesAndDatatypes(); + + //record(); + + //constants(); + + //variables(); + + //nullables(); + + // Использование Random из стороннего компонента dart:math + //print(Random().nextDouble()); + + // formattedStrings(); + + // enums(); + + // conditions(); + + // Пример работы с функциями + /*const gender = GenderType.man; + print(isAMan(gender)); + print(isAWoman(gender)); + const s = 'Hello'; + myPrint(s); + myPrint(s, capitalize: true); + myPrint(s, suffix: '?'); + myPrint(s, capitalize: true, suffix: '!'); + myPrint(s, suffix: '!', capitalize: true);*/ + + // Пример работы с обобщениями (щаблонными типами) + /*printList([1, 2, 3, 4]); + printList([1.0, 2, 3, 4]); + printList(['1', '2', '3', '4']); + printList([1, '2', '3', '4']);*/ + + // Пример анонимных функций + /*[1, 2, 3, 4].forEach((int val) => print(val)); + [1, 2, 3, 4].forEach(print); + print([1, 2, 3, 4].reduce((int a, int b) { + return a + b; + }));*/ + + // Примеры работы с циклами + // loops(); + + // cars(); + + /*final myTest = MyTest(2); + print(myTest.publicField); + print(myTest._privateField); + + final myTest2 = MyTest2(2); + print(myTest2.publicField); + // print(myTest2._privateField);*/ + + // Пример работы со статическими полями класса + /*final st1 = MyStatic(); + final st2 = MyStatic(); + print(st1.static); + print(st2.static); + MyStatic.staticField++; + print(st1.static); + print(st2.static); + print(MyStatic.staticField);*/ + + // final v = Vehicle(10); + + // cars2(); +} diff --git a/lec2/dart.iml b/lec2/dart.iml new file mode 100644 index 0000000..75734c9 --- /dev/null +++ b/lec2/dart.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lec2/lib/mystatic.dart b/lec2/lib/mystatic.dart new file mode 100644 index 0000000..9c7d327 --- /dev/null +++ b/lec2/lib/mystatic.dart @@ -0,0 +1,7 @@ +class MyStatic { + static int staticField = 1; + + MyStatic(); + + int get static => staticField; +} diff --git a/lec2/lib/mytest2.dart b/lec2/lib/mytest2.dart new file mode 100644 index 0000000..35ed422 --- /dev/null +++ b/lec2/lib/mytest2.dart @@ -0,0 +1,6 @@ +class MyTest2 { + final int publicField; + final int _privateField = 10; + + MyTest2(this.publicField); +} diff --git a/lec2/pubspec.lock b/lec2/pubspec.lock new file mode 100644 index 0000000..f4d6e0d --- /dev/null +++ b/lec2/pubspec.lock @@ -0,0 +1,402 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: "45cfa8471b89fb6643fe9bf51bd7931a76b8f5ec2d65de4fb176dba8d4f22c77" + url: "https://pub.dev" + source: hosted + version: "73.0.0" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.3.2" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: "4959fec185fe70cce007c57e9ab6983101dbe593d2bf8bbfb4453aaec0cf470a" + url: "https://pub.dev" + source: hosted + version: "6.8.0" + args: + dependency: "direct main" + description: + name: args + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" + url: "https://pub.dev" + source: hosted + version: "2.5.0" + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf + url: "https://pub.dev" + source: hosted + version: "1.19.0" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + coverage: + dependency: transitive + description: + name: coverage + sha256: c1fb2dce3c0085f39dc72668e85f8e0210ec7de05345821ff58530567df345a5 + url: "https://pub.dev" + source: hosted + version: "1.9.2" + crypto: + dependency: transitive + description: + name: crypto + sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27 + url: "https://pub.dev" + source: hosted + version: "3.0.5" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.dev" + source: hosted + version: "4.0.0" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "40f592dd352890c3b60fec1b68e786cefb9603e05ff303dbc4dda49b304ecdf4" + url: "https://pub.dev" + source: hosted + version: "4.1.0" + io: + dependency: transitive + description: + name: io + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + js: + dependency: transitive + description: + name: js + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf + url: "https://pub.dev" + source: hosted + version: "0.7.1" + lints: + dependency: "direct dev" + description: + name: lints + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" + url: "https://pub.dev" + source: hosted + version: "4.0.0" + logging: + dependency: transitive + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + macros: + dependency: transitive + description: + name: macros + sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + url: "https://pub.dev" + source: hosted + version: "0.1.2-main.4" + matcher: + dependency: transitive + description: + name: matcher + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" + source: hosted + version: "0.12.16+1" + meta: + dependency: transitive + description: + name: meta + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + url: "https://pub.dev" + source: hosted + version: "1.16.0" + mime: + dependency: transitive + description: + name: mime + sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" + url: "https://pub.dev" + source: hosted + version: "1.0.6" + node_preamble: + dependency: transitive + description: + name: node_preamble + sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + package_config: + dependency: transitive + description: + name: package_config + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + path: + dependency: transitive + description: + name: path + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" + source: hosted + version: "1.9.0" + pool: + dependency: transitive + description: + name: pool + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + shelf: + dependency: transitive + description: + name: shelf + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + url: "https://pub.dev" + source: hosted + version: "1.4.2" + shelf_packages_handler: + dependency: transitive + description: + name: shelf_packages_handler + sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + shelf_static: + dependency: transitive + description: + name: shelf_static + sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 + url: "https://pub.dev" + source: hosted + version: "1.1.3" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + source_map_stack_trace: + dependency: transitive + description: + name: source_map_stack_trace + sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b + url: "https://pub.dev" + source: hosted + version: "2.1.2" + source_maps: + dependency: transitive + description: + name: source_maps + sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + url: "https://pub.dev" + source: hosted + version: "0.10.12" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" + source: hosted + version: "1.11.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" + source: hosted + version: "2.1.2" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test: + dependency: "direct dev" + description: + name: test + sha256: "713a8789d62f3233c46b4a90b174737b2c04cb6ae4500f2aa8b1be8f03f5e67f" + url: "https://pub.dev" + source: hosted + version: "1.25.8" + test_api: + dependency: transitive + description: + name: test_api + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" + url: "https://pub.dev" + source: hosted + version: "0.7.3" + test_core: + dependency: transitive + description: + name: test_core + sha256: "12391302411737c176b0b5d6491f466b0dd56d4763e347b6714efbaa74d7953d" + url: "https://pub.dev" + source: hosted + version: "0.6.5" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + url: "https://pub.dev" + source: hosted + version: "14.2.5" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062 + url: "https://pub.dev" + source: hosted + version: "1.0.0" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + url: "https://pub.dev" + source: hosted + version: "0.1.6" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" + url: "https://pub.dev" + source: hosted + version: "3.0.1" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" +sdks: + dart: ">=3.5.2 <4.0.0" diff --git a/lec2/pubspec.yaml b/lec2/pubspec.yaml new file mode 100644 index 0000000..b2c8340 --- /dev/null +++ b/lec2/pubspec.yaml @@ -0,0 +1,15 @@ +name: dart +description: A sample command-line application with basic argument parsing. +version: 0.0.1 +# repository: https://github.com/my_org/my_repo + +environment: + sdk: ^3.5.2 + +# Add regular dependencies here. +dependencies: + args: ^2.4.2 + +dev_dependencies: + lints: ^4.0.0 + test: ^1.24.0