Aplicar operadores
Normalmente, os programas capturam a entrada. A entrada pode vir de fontes como solicitações da Web, arquivos ou entrada do usuário por meio de um console ou de uma interface gráfica do usuário. Depois de obter os dados de entrada para o programa, você precisa garantir que ele esteja em um formato com o qual seu programa possa trabalhar. Você também precisa saber como os operadores executam operações e cálculos nos dados.
Ler a entrada do console
Para ler no console, você pode usar os métodos encontrados no namespace System. Você deseja usar algo como Console.Readline(). Esse método lê todos os caracteres até um caractere de nova linha e coloca esses caracteres em uma cadeia de caracteres. Veja um exemplo de como usar este método.
System.Console.Write "Type a value:"
let str = System.Console.ReadLine()
printfn "You typed %s" str
Esse código pode funcionar bem para armazenar o que o usuário insere em uma variável de cadeia de caracteres. Mas o que acontece se o seu programa precisar trabalhar na entrada do usuário e quiser tratá-lo como um número ou como um Booliano e usá-lo em uma operação? Nesse ponto, você precisa converter os dados.
Converter entre tipos de dados
Você viu como o F# infere implicitamente no tipo de uma variável atribuindo um valor a uma variável, desta forma:
let myNumber = 3
Mas e se você tiver uma cadeia de caracteres e quiser convertê-la em int?
let myString = "3"
Há duas principais abordagens:
System.Int32.Parse(): use o que funciona no .NET, a funçãoParse()no namespaceSystem,System.Int32.Parse().- Interno
int: Há uma funçãointinterna que você pode usar.
Para usar a primeira abordagem, grave o código da seguinte maneira:
let first = "32"
let numberVersion = System.Int32.Parse first
printfn "Number %i" numberVersion // Output: Number 32
Para usar a função int interna, digite-a da seguinte forma:
let first = "32"
let numberVersion = int first
printfn "Number %i" numberVersion
E qual você usa? A versão com a função int interna é preferencial.
Operadores
Você aprendeu como ler a entrada de um console e viu como essa entrada foi armazenada como uma cadeia de caracteres. Para usá-la em uma operação, você viu como é possível converter o valor de uma cadeia de caracteres em um int. Existem funções de conversão para a maioria dos tipos. Para fazer algo útil com seu código, você precisa aprender sobre operadores. Usando operadores matemáticos, você pode adicionar, subtrair, dividir e assim por diante. Os tipos de dados básicos dão suporte a esses operadores. Aqui estão alguns dos operadores mais importantes.
| Operador | Descrição |
|---|---|
| + | Soma dois valores |
| - | Subtrai um valor de outro |
| / | Divide o valor do lado esquerdo pelo valor do lado direito |
| % | Chamado de módulo, fornece o resultado da divisão do valor esquerdo pelo valor direito |
| <> | Verifica se dois valores não são iguais |
| = | Verifica se dois valores são iguais |
Para usar o operador de módulo, por exemplo, insira:
let no = 10
let isDivisibleByTwo = no % 2 = 0
printfn "Divisible by two %b" isDivisibleByTwo