小编Che*_*ale的帖子

如何访问Elm的联盟领域?

我正在学习编程语言Elm.我想访问一个联盟的特定领域.我无法访问它.我在文档中搜索过.但我找不到任何地方如何访问联盟的特定领域.代码如下:

import Graphics.Element exposing (show)
import List exposing (length, filter, map)

type Person 
  = Person { fname: String, lname: String, age: Int}

p1 = Person { fname="ABC", lname="XYZ", age=23 }
p2 = Person { fname="JK", lname="Rowling", age=24 }

-- These are unions with fields

people : List Person
people = [ p1
         , p2
         , Person {fname= "Anakin", lname= "Luke", age= 12}
         ]

main = show [people]
Run Code Online (Sandbox Code Playgroud)

我不能用,p1.name因为p1不是记录.我如何进入该领域fnamep1还是p2

elm

4
推荐指数
1
解决办法
1411
查看次数

无法理解复杂的参数化返回类型 - Java

我在Java中遇到过与此类似的代码片段

public <H extends ABC<I, U>, I, U> Set<U> get(Type<H, I, U> type) {

}
Run Code Online (Sandbox Code Playgroud)

我不明白.我只知道它需要参数化类型的参数Type<H,I,U>,并返回一个Set<U>返回类型.但是,我不明白这部分:

<H extends ABC<I,U>, I,U>
Run Code Online (Sandbox Code Playgroud)

任何人都可以澄清一下吗?

此致,Chetan

java generics parameters return-type

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

在Haskell中定义新数据类型时获取错误"不是数据构造函数"

我正在尝试为方向定义新的数据类型.但是,当我在ghci中加载文件时,我收到错误"Not a data constructor:left".

这是代码片段:

data Dir =   left
           | right 
           | up
           | down 

instance Show Dir where
 show left = "left"
 show right = "right"
 show up = "up"
 show down = "down"


-- initialpos is assumed to be valid one
move::Pos->Dir->Pos
move prevPos left = ( (-1)  $ fst prevPos  ,  snd prevPos)   
move prevPos right = ( (+1) $ fst prevPos ,  snd prevPos )
move prevPos up = ( fst prevPos, (+1) $ …
Run Code Online (Sandbox Code Playgroud)

haskell

0
推荐指数
1
解决办法
936
查看次数

标签 统计

elm ×1

generics ×1

haskell ×1

java ×1

parameters ×1

return-type ×1