相关疑难解决方法(0)

声明变量而不分配

有没有在F#中声明一个新变量而不给它赋值的方法?

f#

7
推荐指数
3
解决办法
5448
查看次数

从Console.In读取的函数返回先前的值

为了学习F#我正试图解决Codingame之谜下降

  • 从Console.In.ReadLine()读取8个数字
  • 应打印最高编号的索引
  • 重复8次

下面的代码适用于第一次运行,但似乎在第一次循环后为不同的输入提供完全相同的结果.
使用数组在Interactive中运行idxWithHighestValue函数而不是从控制台读取会产生所需的结果.

预期行为:
[9,8,7,6,5,4,3,2] => 0
[0,8,7,6,5,4,3,2] => 1

实际行为:
[9,8,7,6,5,4,3,2] => 0
[0,8,7,6,5,4,3,2] => 0

open System

let highestMountain =
    let readEightInputs =
        let readlines n = Array.init n (fun _ -> Console.In.ReadLine() |> int)
        readlines 8
    let idxWithHighestValue list = 
        list
        |> Seq.mapi (fun i v -> i, v)
        |> Seq.maxBy snd
        |> fst
    idxWithHighestValue readEightInputs

(* game loop *)
while true do   
    (* Write an action using printfn *)
    (* To debug: …
Run Code Online (Sandbox Code Playgroud)

f#

3
推荐指数
1
解决办法
97
查看次数

标签 统计

f# ×2