(lab5) feat: Добавлена новая программа FavoriteLang с шуточными ответами на вопрос о любимом языке программирования

main
Artem-Darius Weber 2 months ago
parent 69b15ce4dd
commit 79112b02d4

@ -35,11 +35,14 @@ run-lab5-conditional-traversal:
run-lab5-number-examples:
dotnet run --project "lab 5/NumberExamples/NumberExamples.fsproj"
run-lab5-favorite-lang:
dotnet run --project "lab 5/FavoriteLang/FavoriteLang.fsproj"
# Запуск Lab 5
run-all-lab5: run-lab5-hello-world run-lab5-quadratic-equation run-lab5-circle-cylinder \
run-lab5-number-operations run-lab5-recursion-types run-lab5-function-factory \
run-lab5-number-traversal run-lab5-lambda-traversal run-lab5-conditional-traversal \
run-lab5-number-examples
run-lab5-number-examples run-lab5-favorite-lang
help:
@echo "Доступные команды:"
@ -64,6 +67,7 @@ help:
@echo " make run-lab5-lambda-traversal - Запустить пример с лямбда-выражениями"
@echo " make run-lab5-conditional-traversal - Запустить пример с условным обходом"
@echo " make run-lab5-number-examples - Запустить практические примеры работы с числами"
@echo " make run-lab5-favorite-lang - Запустить программу о любимом языке программирования"
clean:
dotnet clean
@ -79,13 +83,13 @@ lab5-docker-build:
docker compose build lab5-hello-world lab5-quadratic-equation lab5-circle-and-cylinder \
lab5-number-operations lab5-recursion-types lab5-function-factory \
lab5-number-traversal lab5-lambda-traversal lab5-conditional-traversal \
lab5-number-examples
lab5-number-examples lab5-favorite-lang
lab5-docker-run:
docker compose up lab5-hello-world lab5-quadratic-equation lab5-circle-and-cylinder \
lab5-number-operations lab5-recursion-types lab5-function-factory \
lab5-number-traversal lab5-lambda-traversal lab5-conditional-traversal \
lab5-number-examples
lab5-number-examples lab5-favorite-lang
# Docker lab 5 отдельные программы
lab5-hello-world-docker-run:
@ -118,6 +122,9 @@ lab5-conditional-traversal-docker-run:
lab5-number-examples-docker-run:
docker compose up lab5-number-examples
lab5-favorite-lang-docker-run:
docker compose up lab5-favorite-lang
ci-local:
circleci config validate
circleci local execute

@ -98,4 +98,13 @@ services:
volumes:
- ./lab 5/NumberExamples:/app
stdin_open: true
tty: true
lab5-favorite-lang:
build:
context: ./lab 5/FavoriteLang
dockerfile: ../../Individual Task 1/Dockerfile
volumes:
- ./lab 5/FavoriteLang:/app
stdin_open: true
tty: true

@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<RootNamespace>FavoriteLang</RootNamespace>
</PropertyGroup>
<ItemGroup>
<Compile Include="Program.fs" />
</ItemGroup>
</Project>

@ -0,0 +1,49 @@
open System
let getResponse (language: string) =
match language.ToLower() with
| "f#" | "fsharp" -> "Ты подлиза! Думаешь, это поможет тебе получить хорошую оценку?"
| "prolog" -> "Ты подлиза! И мазохист, видимо. Кто вообще любит Prolog?"
| "python" -> "Ух ты, как оригинально! Еще один фанат змеиного синтаксиса и отступов вместо скобок."
| "javascript" -> "JavaScript? Серьезно? Язык, где null не равен null, но равен undefined? Удачи с этим."
| "java" -> "Java... Любишь писать 20 строк кода там, где хватило бы 2, да? Фанат многословия?"
| "c++" -> "C++, где каждая ошибка - это пять новых багов и утечка памяти. Смелый выбор!"
| "rust" -> "О, хипстер программирования! Любишь рассказывать всем про заимствования и время жизни?"
| "haskell" -> "Хаскель? Ты, наверное, любишь объяснять монады через аналогии с космосом?"
| "c#" -> "C#... Мечтал стать разработчиком в Microsoft, но не прошел собеседование?"
| "go" -> "Go - когда хочешь писать на C, но без всех сложных функций, которые делают его полезным."
| "ruby" -> "Ruby? В 2010 позвонили, просят их язык обратно."
| "php" -> "PHP - доказательство того, что даже плохо спроектированный язык может прожить десятилетия."
| "swift" -> "Swift? Нравится платить Apple дань за возможность разрабатывать для их устройств?"
| "kotlin" -> "Kotlin - когда Java настолько плоха, что пришлось изобрести новый язык."
| "scala" -> "Scala? Любишь когда код выглядит как иероглифы из древнего манускрипта?"
| "pascal" | "delphi" -> "Ого, динозавры еще не вымерли! Какой музей тебя выпустил?"
| "cobol" -> "COBOL? Ты, наверное, миллионер, обслуживающий банковские системы 60-х годов?"
| "fortran" -> "Фортран? Ты, наверное, ровесник первых ЭВМ?"
| "basic" -> "BASIC? Где ты нашел машину времени, чтобы вернуться в 80-е?"
| "lisp" -> "LISP? (Слишком (много (скобок (не (находишь?))))"
| "assembly" | "asm" -> "Ассемблер? Ты либо гений, либо просто любишь страдать."
| "matlab" -> "MATLAB? Твои графики, наверное, красивее, чем твой код."
| "r" -> "R? Статистика настолько скучна, что потребовался целый язык?"
| "perl" -> "Perl - когда хочешь, чтобы никто не мог прочитать твой код, даже ты сам через неделю."
| "lua" -> "Lua? Язык для тех, кто не дорос до настоящего программирования."
| "typescript" -> "TypeScript? JavaScript с дополнительной головной болью!"
| "objective-c" -> "Objective-C? Ты либо мазохист, либо застрял в 2007 году."
| "erlang" -> "Erlang? Ценишь непонятный синтаксис и отсутствие документации?"
| "clojure" -> "Clojure? Лисп в JVM - странный выбор для мучений."
| "sql" -> "SQL? Это не настоящий язык программирования, но ладно, притворимся."
| "bash" | "shell" -> "Bash? Скриптовое программирование - это же не настоящее программирование!"
| "powershell" -> "PowerShell? Windows-админ, который думает, что умеет программировать?"
| _ -> $"Что это за {language}? Настолько непопулярный, что я даже шутку не могу придумать!"
[<EntryPoint>]
let main argv =
Console.OutputEncoding <- Text.Encoding.UTF8
printfn "Какой язык программирования у тебя любимый?"
let userInput = Console.ReadLine()
let response = getResponse userInput
printfn "%s" response
0
Loading…
Cancel
Save