共享变量更新

master
bicijinlian 11 months ago
parent 456dc2d483
commit 9d9a5060b0

Binary file not shown.

After

Width:  |  Height:  |  Size: 584 KiB

File diff suppressed because one or more lines are too long

@ -5,15 +5,78 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"# 共享变量的使用" "# 变量共享"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"使用 .NET 交互式内核,可以在单个笔记本中以多种语言编写代码。为了利用每种语言的不同优势,您会发现在它们之间共享数据很有用。即一种语言的变量,可以在其它语言中使用。\n",
"默认情况下,.NET Interactive 支持多种不同的语言其中大多数语言都允许使用magic 命令`#!set` 和 `#!shared` 进行共享。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 各语言对变量共享的支持"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"| 语言 | 变量共享 |\n",
"| ---- | ---- |\n",
"| C# | 支持 |\n",
"| F# | 支持 |\n",
"| PowerShell | 支持 |\n",
"| JavaScript | 支持 |\n",
"| SQL | 支持 |\n",
"| KQL | 支持 |\n",
"| Python | 支持 |\n",
"| R | 支持 |\n",
"| HTML | 不支持 |\n",
"| Mermaid | 不支持 |"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 查看、管理全部变量方法"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![变量共享](./assets/images/shared.001.jpg)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 简单示例C# 运行中的变量,被其它语言共享。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"//定义变量:存储网关\n",
"string getway = \"192.168.1.1\";"
] ]
}, },
{ {
"attachments": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"## 全局设置" "## PowerShell 中使用"
] ]
}, },
{ {
@ -21,21 +84,69 @@
"execution_count": null, "execution_count": null,
"metadata": { "metadata": {
"dotnet_interactive": { "dotnet_interactive": {
"language": "csharp" "language": "pwsh"
}, },
"polyglot_notebook": { "polyglot_notebook": {
"kernelName": "csharp" "kernelName": "pwsh"
} }
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"// 默认包源\n", "# Poweshell中使用 前面C#单元中定义的变量\n",
"#i \"https://api.nuget.org/v3/index.json\"\n", "# 特别注意因为PS中变量名必须以$开头,所以在命令中 name 参数名在PS中使用时必须加$前辍\n",
"\n", "\n",
"//Nuget 包引用\n", "#!set --value @csharp:getway --name gw\n",
"#r \"nuget: Microsoft.DotNet.Interactive.ExtensionLab,*-*\"\n", "\n",
"Write-Host $gw\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## F# 中使用"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "fsharp"
},
"polyglot_notebook": {
"kernelName": "fsharp"
}
},
"outputs": [],
"source": [
"#!set --value @csharp:getway --name getway\n",
"\n", "\n",
"//全局变量" "Console.WriteLine(getway)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 在javascrip中使用"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "javascript"
},
"polyglot_notebook": {
"kernelName": "javascript"
}
},
"outputs": [],
"source": [
"#!set --value @csharp:getway --name getway\n",
"console.log(getway);\n"
] ]
} }
], ],

Loading…
Cancel
Save