Em linguagens de programação, um objeto imutável é aquele cujo status não pode ser modificado no decorrer do programa após sua definição, sendo que F# é uma linguagem com suporte a dados imutáveis e mutáveis. Indique a opção que apresente uma declaração, respectivamente, de um dado mutável e um dado não mutável em F#.

Questão

Em linguagens de programação, um objeto imutável é aquele cujo status não pode ser modificado no decorrer do programa após sua definição, sendo que F# é uma linguagem com suporte a dados imutáveis e mutáveis.

Indique a opção que apresente uma declaração, respectivamente, de um dado mutável e um dado não mutável em F#.

Alternativas

a) "let mutable x = 10" e "let x = x + 2"

92%

b) "let mutable x = 10" e "let immutable x = x + 2"

c) "int x = 10" e "const int x = 12"

d) "let x = x + 2" e "let mutable x = 10"

e) "mutable x = 10" e "x = x + 2"

Explicação

Em F#, por padrão, valores declarados com let são imutáveis (não podem ter seu valor reatribuído). Para permitir mudança (reatribuição), é necessário usar a palavra-chave mutable.

  • Dado mutável: let mutable x = 10 declara x como variável mutável, permitindo posterior atualização (por exemplo, x <- 12).
  • Dado não mutável (imutável): uma declaração com let x = ... (sem mutable) define um valor imutável.

Analisando as alternativas:

  • (a) traz primeiro uma declaração mutável (let mutable x = 10) e depois uma declaração com let sem mutable, que é imutável (apesar do exemplo estar semanticamente estranho por usar x no lado direito, a ideia de imutabilidade do let está correta).
  • (b) immutable não existe como palavra-chave em F#.
  • (c) é sintaxe de C/C++, não de F#.
  • (d) está na ordem invertida (imutável depois mutável).
  • (e) não usa a sintaxe correta de declaração em F#.

Alternativa correta: (a).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.