小编use*_*786的帖子

Java String.split()正则表达式

我有一个字符串:

String str = "a + b - c * d / e < f > g >= h <= i == j";
Run Code Online (Sandbox Code Playgroud)

我想在所有运算符上拆分字符串,但在数组中包含运算符,因此生成的数组如下所示:

[a , +,  b , -,  c , *,  d , /,  e , <,  f , >,  g , >=,  h , <=,  i , ==,  j]
Run Code Online (Sandbox Code Playgroud)

我现在有这个:

public static void main(String[] args) {
    String str = "a + b - c * d / e < f > g >= h <= i == …
Run Code Online (Sandbox Code Playgroud)

java regex string split

15
推荐指数
3
解决办法
24万
查看次数

Haskell - 如何获得随机点(Int,Int)

我正在尝试获取一组随机点(x,y),用于将图形节点绘制到屏幕上.我需要为传入的每个节点名称生成一个随机生成的点.

我在SO页面上找到了这个代码,并稍微修改它以适合我,但它并没有真正做我需要的.

我需要一个随机列表(尽可能随机)(Int,Int).

无论如何,这是我到目前为止所拥有的,当然,它每次都给出相同的值,所以它不是特别随机:)

rndPoints :: [String] -> [Point]
rndPoints [] = []
rndPoints xs = zip x y where
          size = length xs
          x = take size (tail (map fst $ scanl (\(r, gen) _ -> randomR (25::Int,1000::Int) gen) (random (mkStdGen 1)) $ repeat ()))
          y = take size (tail (map fst $ scanl (\(r, gen) _ -> randomR (25::Int,775::Int) gen) (random (mkStdGen 1)) $ repeat ()))
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

random haskell

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

Haskell - 从文件中读取图形规范

我正在努力弄清楚如何在Haskell中读取(以及如何表示)图形.

来自文件的输入看起来像

NODES 3
EDGE 1 2
EDGE 1 3
EDGE 2 3
Run Code Online (Sandbox Code Playgroud)

我已经想出如何使用以下方法从文件中获取各行输入:

loadFile :: String -> IO [[String]]
loadFile filename = do 
                contents <- readFile filename
                return $ map words $ lines contents
Run Code Online (Sandbox Code Playgroud)

这给出了如下输出:

loadFile "input.txt"
[["NODES","3"],["EDGE","1","2"],["EDGE","1","3"],["EDGE","2","3"]]
Run Code Online (Sandbox Code Playgroud)

我真正需要弄清楚的是如何将这个图形数据表示为图形.我正在考虑将其设置为边缘列表:

type Edge = (Int,Int)
type Graph = [Edge]
Run Code Online (Sandbox Code Playgroud)

但后来我不确定如何开始实现我需要的功能,如addNode,addEdge,getNodes,getEdges.

任何帮助或指向我正确的方向将是真棒!注意:我不能使用任何已经开发的图形模块.

所以,对于tl; dr版本:

  1. 我在数据中读取最好的方法吗?
  2. 我应该如何在haskell中表示这些数据?
  3. 如果我使用上面概述的数据结构,我将如何实现其中一个功能.

haskell graph

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

标签 统计

haskell ×2

graph ×1

java ×1

random ×1

regex ×1

split ×1

string ×1