标签: functional-programming

使用scala读取二维数组

假设我有一个名为"input.txt"的txt文件,我想使用scala来读取它.文件的维度在开头不可用.

那么,如何构造这样的数组[Array [Float]]?我想要的是一种简单而整洁的方式,而不是像Java一样编写一些代码来遍历行并解析每个数字.我认为函数式编程应该很擅长......但到目前为止还不能想到.

最好的祝福

functional-programming scala

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

用lambda减少设置

给定一个集合,其中每个元素都是一个字符串,如何将集合减少为一个整数,这个整数是这些字符串长度的总和?

setA = ("hi", "hello", "bye")
reduce(lambda .... for word in setA)
Run Code Online (Sandbox Code Playgroud)

使用一些lambda函数调用reduce应该返回10(2 + 5 + 3).

我想,我可以用几个lambdas做到这一点,但必须有一个更清洁的方式.

python functional-programming

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

Haskell - 符合条件的参数计数?

假设我有一个功能:

isOne :: Int -> Int -> Int
isOne x y =
Run Code Online (Sandbox Code Playgroud)

然后,如果x == 1y != 1然后返回1(参数之一等于1),如果x == 1y == 1它返回2(因为两者都是1),如果x != 1y != 1它返回0

我无法弄清楚如何使用if语句(或使用案例)进行多次检查.

haskell functional-programming

0
推荐指数
2
解决办法
159
查看次数

在OCaml中基于列表的快速排序中的stack_overflow

这是我对list-basedquicksort的实现:

let partition pivot l = 
    let rec p left right = function
      | [] -> (left, right)
      | hd::tl ->
    let c = compare pivot hd
    in 
    if c > 0 then
      p (hd::left) right tl
    else 
      p left (hd::right) tl
    in
    p [] [] l;;

let quicksort l =
  let rec qs = function
    | [] -> []
    | pivot::tl ->
      let (left, right) = partition pivot tl
      in 
      (qs left) @ (pivot::(qs right))
  in 
  qs …
Run Code Online (Sandbox Code Playgroud)

ocaml functional-programming

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

如何在java中实现haskell数据类型?

如果您有这些Haskell数据类型

data Mlist a = Mlist [a]

data Mordering = MLT | MEQ | MGT | MIN deriving (Eq, Show)
Run Code Online (Sandbox Code Playgroud)

什么是在java中写这个的最好方法?

java haskell functional-programming frege

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

如何处理这个错误?

我正在处理很长的名单和大树.
有时候我会发现这个错误:

surgery a;;
Characters 8-9:
  surgery a;;
          ^
Error: This expression has type int t/1044
       but an expression was expected of type 'a t/1810
# type 'a t = | Leaf of ('a -> 'a -> int)
            | Node of 'a * 'a t * 'a t * ('a -> 'a -> int)
Run Code Online (Sandbox Code Playgroud)

我不确定这种错误是什么类型,但我想这是某种溢出.类型匹配正确,但在类型后面的反斜杠后面有大数字.在这种情况下,1044和1810.
这次我之前运行了一些代码surgery a.如果我杀死当前的顶级并重新开始,surgery a就会运行.

我的问题是:
1.这个错误究竟是什么?
2.何时以及如何发生?
3.为什么从新的顶层重新运行它会使它工作?
4.我该如何处理?

error-handling ocaml functional-programming overflow large-data

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

我在OCaml中实现就地图BFS的奇怪错误

我正在in-place graph BFSOCaml中实现.

这是我的代码:

type graph = {s : int list array;num_v:int;mutable num_e : int};;

let bfs u g p =
  let marker = Array.make g.num_v false
  in
  let q = Queue.create()
  in 
  Queue.push u q;
  let rec add_to_queue v = function
    | [] -> ()
    | hd::tl -> 
      if not marker.(hd) then begin
        marker.(hd) <- true;
        Queue.push hd q;
        p.(hd) <- v
      end; 
      add_to_queue v tl
  in 
  **let rec bfs_go =**
    if Queue.length q > 0 then …
Run Code Online (Sandbox Code Playgroud)

ocaml functional-programming

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

Haskell - 这个函数出了什么问题?

我正在尝试使用下面的函数计算谐波系列.但是有一个类型错误,不太确定它是什么意思?另一个问题,为什么[5..1]会给出一个空列表?

sumHR = foldr(+)0(\ x - > map(1 /)[1..x])

错误信息:

*** Expression     : foldr (+) 0 (\x -> map (1 /) (enumFromTo x 1))
*** Term           : \x -> map (1 /) (enumFromTo x 1)    
*** Type           : b -> [b]    
*** Does not match : [a]    
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming

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

哈斯克尔时间问题

这是我关于haskell的第二个问题,我认为我的algorhythm并不坏,它在c ++和python中提供更快的结果,并且在haskell有一些问题它不能给我10 ^ 25(也许它给了但我不等那么多)和这个问题问我这个价值,请指导我解决这个家伙,谢谢你.

##Euler 169##
giveRes 0 _= 1
giveRes 1 _= 1
giveRes a x = if search a x
                then send a x
                else let res = if rem a 2 == 0
                                  then (giveRes (quot a 2) x)
                                        +
                                       (giveRes (quot a 2-1) x)
                                  else giveRes (quot a 2) x
                     in snd (head ((a,res):x))
search _ [] = False
search a (x:xs) = if a == fst x then True else search a xs
send a …
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming

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

可以用Scala学习函数式编程吗?

Scala是一种多范式语言,功能是这些范例之一.我想学习函数式编程,Scala还有许多吸引我的特性(它是一颗冉冉升起的新星,在JVM上运行,可以访问Java库等).我的问题是:Scala的功能部分是否足以学习函数式编程的基础知识

functional-programming scala

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