Gyakorlat – Értékmegosztás
Ebben a gyakorlatban kipróbálhatja a Polyglot Notebooks speciális funkcióit.
Értékmegosztás
Mutatjuk be, milyen értékes lehet a változók különböző kernelekkel való megosztása a cellák között.
Hozzon létre egy cellát a + Kód gombbal.
A jobb oldalon található legördülő listában válassza a csharp C# szkriptet.
Írja be a következő kódot a kódcellába:
var products = new []{"Saab", "Volvo", "BMW"}; foreach(var product in products) { Console.WriteLine(product); }Futtassa a kódcellát a Futtatás ikonnal.
Válassza a Változók menügombot a képernyő tetején található eszköztáron.
Válassza a Megosztás ikont a Műveletek oszlopban.
Ezután válassza ki a JavaScript – JavaScript lehetőséget.
Létre kell hoznia egy új kódcellát, amely a JavaScriptet kernelként tartalmazza, és a következő kódot tartalmazza:
#!set --value @csharp:products --name productsMost már rendelkezik olyan kóddal, amely lehetővé teszi egy C#-változó használatát.
Adja hozzá a következő kódot a JavaScript-cellához:
console.log(products); // it should print Saab, Volvo, Fiat
Értéktároló használata
Próbálkozzunk egy másik változómegosztási esetet. Ezúttal JSON-adatokkal fogunk dolgozni.
Hozzon létre egy új kódcellát a + Kód lehetőség kiválasztásával, majd válassza ki az értéket – Nyers érték tároló kernelhez .
Az új cellába illessze be a következő JSON-t:
#!value --name data [ { "id": 1, "name": "video game", "price": 59.99 } { "id": 2, "name": "book", "price": 9.99 } { "id": 3, "name": "movie", "price": 19.99 } ]Futtassa a cellát, és az adatoknak meg kell jelennie a változók táblában, amelyeknek továbbra is nyitva kell lenniük az előző szakaszból. Ha újra meg kell nyitnia, válassza a Változók lehetőséget a képernyő tetején található eszköztáron.
Válassza a megosztás ikont az adatváltozó Műveletek oszlopában.
Válassza ki a csharp C# szkriptet célcellaként. Az új C#-cellának a következő kóddal kell rendelkeznie:
#!set --value @value:data --name dataEzután illessze be a következő kódot a cellába:
// import JSON in C# using System.Text.Json; // parse JSON in C# class Product { public int Id {get; set;} public string Name {get; set;} public decimal Price {get; set;} } // deserialize JSON, ignore case for property names JsonSerializerOptions options = new JsonSerializerOptions { PropertyNameCaseInsensitive = true } var products = JsonSerializer.Deserialize\<Product[]>(data, options); foreach(var product in products) { Console.WriteLine(product.Name); }
Gratulálunk, sikeresen elsajátította a változók megosztásával kapcsolatos további ismereteket.