Arrays RabbitMQ和F#-如何';阅读';MQ消息并将内容拆分为变量或数组?

Arrays RabbitMQ和F#-如何';阅读';MQ消息并将内容拆分为变量或数组?,arrays,f#,rabbitmq,Arrays,F#,Rabbitmq,我希望你身体好。我是一名F#和编程新手,我需要一些关于从RabbitMQ消息队列将数据读入F#的问题的指导 我已经能够编写一个F#脚本,它订阅一个消息队列并以与下面类似的格式接收数据 Received onData;FeedQ1;7.488;7.48813;1427315602762;8.61;8.31 我现在需要学习如何将从消息队列接收到的“字符串”消息拆分为变量或数组,然后在我的F#脚本中存储和/或使用这些变量或数组。如您所见,上面的消息实际上包含7个字段,它们之间用分隔字符 我曾尝试搜索

我希望你身体好。我是一名F#和编程新手,我需要一些关于从RabbitMQ消息队列将数据读入F#的问题的指导

我已经能够编写一个F#脚本,它订阅一个消息队列并以与下面类似的格式接收数据

Received onData;FeedQ1;7.488;7.48813;1427315602762;8.61;8.31
我现在需要学习如何将从消息队列接收到的“字符串”消息拆分为变量或数组,然后在我的F#脚本中存储和/或使用这些变量或数组。如您所见,上面的消息实际上包含7个字段,它们之间用分隔字符

我曾尝试搜索web和RabbitMQs资源,但我发现的一切似乎都只是从F#到RabbiTMQ的实际连接的细节,在处理从MQ队列接收到的消息数据方面没有任何进展

非常感谢您的帮助,谢谢

实际F#fsx脚本如下所示:

#r "RabbitMQ.Client.dll"

open System
open RabbitMQ.Client
open RabbitMQ.Client.Events
open System.Text

let factory = new ConnectionFactory(HostName = "localhost")
(
use connection = factory.CreateConnection()
use channel = connection.CreateModel()
use channel1 = connection.CreateModel()

channel.QueueDeclare("FeedQ1", false, false, false, null) |> ignore
channel1.QueueDeclare("FeedQ2", false, false, false, null) |> ignore

let consumer = new QueueingBasicConsumer(channel)
channel.BasicConsume("FeedQ1", true, consumer) |> ignore
channel.BasicConsume("FeedQ2", true, consumer) |> ignore


printfn " [*] Waiting for messages. To exit press CTRL+C"

let rec loop () : unit =
    let ea = consumer.Queue.Dequeue();

    let body = ea.Body
    let message = Encoding.UTF8.GetString(body)
    printfn " [x] Received %s" message

    loop ()

loop ()
)

如果你告诉我你将要做什么处理,这将更容易得到帮助

let message = "Received onData;FeedQ1;7.488;7.48813;1427315602762;8.61;8.31"
let splited = message.Split(';')
splited |> printfn "Array: %A"
splited.[0] |> printfn "First element: %s"
splited.Length |> printfn "Array length: %d"
输出:

更多信息:

使用Split()方法:
let splited=message.Split(“;”)
谢谢您的回复,我是编程新手,所以如果可能的话需要更多的信息吗?谢谢Foggy Finder,这真的帮助了我-我已经能够使用上面的代码示例将消息分解成一个数组。我现在需要解决如何使用数组中的变量!再次感谢你们!
Array: [|"Received onData"; "FeedQ1"; "7.488"; "7.48813"; "1427315602762"; "8.61";
  "8.31"|]
First element: Received onData
Array length: 7