フォームの入力を検討したいとしましょう
[int_1, int_2, ..., int_n]
[int_1, int_2, ..., int_m]
...
ここで、入力はテキストファイルから読み込まれます。私の目標は、このリストの最大サイズを取得することです。現在、このパターンを認識する正規表現があります。
let input = "[1,2,3] [1,2,3,4,5]"
let p = input =~ "(\\[([0-9],)*[0-9]\\])" :: [[String]]
出力:
[["[1,2,3]","[1,2,3]","2,"],["[1,2,3,4,5]","[1,2,3,4,5]","4,"]]
したがって、私が求めているのは、3番目のインデックスの最大値+1です。しかし、私が行き詰まっているのは、このインデックスをintと見なそうとしているところです。たとえば、要素をうまく参照できます。
(p !! 0) !! 2
> "2,"
しかし、これをintに変換することはできません、私は試しました
read( (p !! 0) !! 2)
ただし、これは、
:t (p !! 0) !! 2
> (p !! 0) !! 2 :: String
文字列のように見えます。なぜこれをintとして読めないのかについてのアドバイスをいただければ幸いです。
再度、感謝します。