Упражнение. Использование переменных для хранения данных
В этом упражнении вы узнаете, как создавать программы, которые выводить код в консоль. Вы создаете начало программы калькулятора, а также анализируете программу с ошибками в ней и узнаете, как исправить ошибки.
Создание проекта
Начнем с создания проекта. Вы создаете проект из командной строки с помощью исполняемого файла dotnet.
В консоли выполните команду
dotnet new.dotnet new console --language F# -o Variables cd VariablesЭта команда создает новый проект F# в каталоге Переменные.
Замените код в Program.fs следующим кодом:
[<EntryPoint>] let main argv = printfn "Welcome to the calculator program" // read input from the console and assign to `sum` let sum = 0 printfn "The sum is %i" sum 0Первое
printfnзаявление приветствует пользователя программы. Во второй строке есть комментарий, который начинается с//отображения кода, который будет реализован в следующем упражнении. После этого у вас естьlet sum = 0. Наконец, вы создадите переменнуюsum, содержащую результат вычисления.Запустите программу, выполнив команду
dotnet run.dotnet runДолжен появиться следующий результат:
Welcome to the calculator program The sum is 0
Поздравляем! Вам удалось создать проект, начать работу над более крупным проектом и запустить его.
Исправление ошибки
В ходе обучения программированию на любом языке изучаются способы распознавания ошибок компиляции и их исправления. Для этого упражнения необходимо создать шаблон нового проекта. Прежде чем продолжить, убедитесь, что вы на один уровень выше в структуре каталогов.
Создайте каркас нового проекта F#, запустив
dotnet new.dotnet new console --language F# -o Errors cd ErrorsЗамените код в Program.fs следующим кодом:
[<EntryPoint>] let main argv = let aNumber = 0 printfn "Here's a number %s" aNumber 0 // return an integer exit codeСовет
Сделайте секундную паузу и прочтите предыдущий код. Как вы думаете, код компилируется? Почему или почему нет?
Запустите программу, выполнив команду
dotnet run.dotnet runПоявится сообщение об ошибке, аналогичное этому тексту:
/<path>/Errors/Program.fs(8,34): error FS0001: This expression was expected to have type 'string' but here has type 'int' [/<path>/Errors/Errors.fsproj] The build failed. Fix the build errors and run again.В сообщении об ошибке говорится: "Ожидалась строка, но обнаружен тип int". Вы понимаете, в чем заключается проблема? Проблема заключается в использовании форматировщика
%sвместо%i, поскольку вы передаете функцииprintfnпеременнуюaNumberтипаint. Исправим код.Найдите строку с кодом "printfn" Здесь число% s "aNumber" и измените его на:
printfn "Here's a number %i" aNumberСохраните файл и запустите его повторно с помощью
dotnet run. Вы должны увидеть следующие выходные данные:Here's a number 0
Поздравляем! Вы отладили программу, прочитав код, понимая, что было неправильно, и исправляя его. Распознавание сообщений об ошибках и знание того, как исправить ошибки, являются важными навыками разработчика.