意外「]」在表達三元操作者選擇數組索引
我已經成功地設法獲得工作的代碼的第一部分,現在要找到使用存儲在索引中的球員實得分在成員內部。我正在使用playersTurn
並檢查其奇數或偶數是否代表玩家轉身。
我現在有使用三元運算符來獲得在下面的代碼行的得分問題:
let score = this.scoring[this.playersTurn % 2 = 0 ? this.playerOneScore : this.playerTwoScore]
任何幫助將是輝煌的,這裏是全碼:
open System
type Game(playerOne, playerTwo) =
member this.playersTurn = 0
member this.playerOneName = playerOne
member this.playerOneScore = 0
member this.playerTwoName = playerTwo
member this.playerTwoScore = 0
member this.scoring = [|0; 15; 30; 40|]
member this.takeTurn() =
let name = this.playersTurn % 2 = 0 ? this.playerOneName : this.playerTwoName
let score = this.scoring[this.playersTurn % 2 = 0 ? this.playerOneScore : this.playerTwoScore]
printfn name |> "%d is now taking their turn."
if((new System.Random()).Next(0, 15) > 8) then
if (this.playersTurn % 2 = 0) then incr this.playerOneScore
else incr this.playerTwoScore
printfn name |> "%d scored a point!"
else
printfn name |> "%d did not score a point!"
incr this.playersTurn
let tennis = new Game("Player1", "Player2")
tennis.takeTurn()
tennis.takeTurn()
快速查看。一個是數組'[| |]',一個是列表'[]'。 –
因此,賈斯汀尼斯納的回答與這個評論相結合,應該是'this.scoring [|索引|]'? @GuyCoder – KDOT
是的,我認爲會。我不是F#的人,只是想學習哈哈。我很感激。我更新,在此基礎上和你的前一個問題@GuyCoder – KDOT