Wolfram Language

Cadre de canaux

Traitez tout type de données

Les messages qui peuvent être représentés dans le format JSON (chaînes, des nombres, True, False o Null), ou des listes, des règles ou des associations contenant ces éléments, sont donnés littéralement.

In[1]:=
Click for copyable input
listener = ChannelListen["example"]
Out[1]=
In[2]:=
Click for copyable input
(ChannelSend["example", #]) & /@ {"string", 100, True, {1, 2, 3}, "a" -> "b", {"c" -> 1}, <|"d" -> True|>};
In[3]:=
Click for copyable input
listener["Message", All]
Out[3]=

Les messages contenant le code sont emballés en toute sécurité dans HoldComplete, vous donnant l'occasion de les examiner avant de les évaluer.

In[4]:=
Click for copyable input
ChannelSend["example", Unevaluated[Print["hello"]]];
In[5]:=
Click for copyable input
listener["Message"]
Out[5]=
In[6]:=
Click for copyable input
listener["Message"] // ReleaseHold

Créez un canal qui envoie un notebook comprimé et ouvrez le notebook reçu dans une nouvelle fenêtre.

In[7]:=
Click for copyable input
CreateChannel["nb", ChannelPreSendFunction -> (Compress[#1] &), HandlerFunctions -> Association[ "MessageReceived" -> (CreateWindow[Uncompress[#Message]] &)]]
Out[7]=

Commencez à écouter sur le canal.

In[8]:=
Click for copyable input
listener = ChannelListen["nb"]
Out[8]=

Créez un notebook et l'envoyer à la chaîne.

In[9]:=
Click for copyable input
nb = DocumentNotebook[{TextCell["My Report", "Section"], TextCell["Lorem ipsum dolor sit amet:", "Text"], ExpressionCell[ ContourPlot[x + Sin[x^2 + y^2], {x, -4, 4}, {y, -4, 4}, Contours -> 9, ContourShading -> ColorData[35, "ColorList"]]]}, StyleDefinitions -> FrontEnd`FileName[{"Article"}, "Preprint.nb"], WindowTitle -> "My Report", Background -> LightOrange]
Out[9]=
In[10]:=
Click for copyable input
ChannelSend["nb", nb]
Out[10]=

Le bloc-notes reçues.

Out[11]=

Exemples connexes

de en es ja ko pt-br ru zh