<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem dictionary</title>
<link>https://forum.pasja-informatyki.pl/tag/dictionary</link>
<description>Powered by Question2Answer</description>
<item>
<title>Sposoby przygotowania słowników języków dla aplikacji [React, TS]</title>
<link>https://forum.pasja-informatyki.pl/564583/sposoby-przygotowania-slownikow-jezykow-dla-aplikacji-react-ts</link>
<description>

&lt;p style=&quot;text-align:justify&quot;&gt;Cześć,&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;Założenie pierwotne:&lt;/strong&gt;
&lt;br&gt;
Aplikacja ma możliwość przełączania się pomiędzy językami, np. ang / de / pl. Jest pisana w react. Używam Redux do zarządzania stanami globalnymi aplikacji.&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;Moje rozwiązanie:&lt;/strong&gt;
&lt;br&gt;
Póki co budowałem aplikację, tak że przygotowałem sobie zmienną `localeIso` trzymaną w store od Redux i przygotowałem obiekty słowników podzielone na moduły (podstrony) aplikacji. W komponentach podłączałem teksty, jako referencje do tych słowników, a język pobierałem z wspomnianego localeIso. Więc sobie przerenderowuję&amp;nbsp;komponenty, gdy była taka potrzeba - zmiana języka.&amp;nbsp;Przykładowo:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot; style=&quot;text-align:justify&quot; title=&quot;Fragment słownika&quot;&gt;
export const DevicesModuleDictionary: IDictionary&amp;lt;IDevicesModuleLanguage&amp;gt; = {
  pl: { module: 'Urządzenia' },
  en: { module: 'Devices' },
}
&lt;/pre&gt;



&lt;pre class=&quot;brush:jscript;&quot; style=&quot;text-align:justify&quot; title=&quot;Przykładowy komponent&quot;&gt;
import { DevicesModuleDictionary as Dictionary } from '../../../../constants/dictionary/modules/devicesModule'

const Component = (): JSX.Element =&amp;gt; {
  const localeIso: ILocaleIso = useAppSelector(getLocaleIso) //ILocaleIso to: 'pl' | 'en'

  return &amp;lt;&amp;gt;{Dictionary[localeIso].module}&amp;lt;/&amp;gt;
}

export default Component
&lt;/pre&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;Nowe założenie:&lt;/strong&gt;
&lt;br&gt;
No i takie moje rozwiązanie działa w porządku, jedynie problem jest taki, że pojawił się wymóg, że edytować i rozszerzać o nowe języki ma osoba, która nie potrafi i nie ma się uczyć programować. Więc kształt nawet JSON odpada :(.&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;Podsumowanie - pytanie:&lt;/strong&gt;
&lt;br&gt;
I tu pojawia się moje pytanie, w jaki sposób Wy przygotowujecie pliki ze słownikami, z których aplikacja czyta teksty i wyświetla na podstawie wybranego języka? Macie jakieś godne polecenia rozwiązania, tak żeby potem nietechniczne osoby mogły modyfikować treści? A&amp;nbsp;może są w ogóle standardy na to i poniosła mnie zbytnio kreatywna wyobraźnia przy moim rozwiązaniu?&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;W tym momencie myślę, czy nie wyrzucić obiektów&amp;nbsp;moich słowników do JSON i czytać z nich zamiast obiektów JS&amp;nbsp;(chyba nie będzie problemu, bo stringi będą bundlowane jako osobny plik, zamiast w index.js?).&amp;nbsp;Wówczas osoba odpowiadająca za zawartość słowników mogłaby sobie pisać w Excel i potem użyć jakiegoś gotowego rozwiązania do konwersji na JSON. Tylko musiałby tworzyć strikte o kształcie moich obiektów. Wiem, że są takie konwertery, ale nigdy nie używałem i nie wiem co mogę się spodziewać - czy nie skończy się na pisaniu customowego, żeby dopasować obiekty.&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;Waszym zdaniem warto iść w takie rozwiązanie, czy może znacie lepsze? Macie jakie rady lub sugestie? :)&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;&amp;nbsp;&lt;/p&gt;



&lt;p style=&quot;text-align:justify&quot;&gt;Z góry dziękuję.&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/564583/sposoby-przygotowania-slownikow-jezykow-dla-aplikacji-react-ts</guid>
<pubDate>Tue, 12 Apr 2022 13:38:22 +0000</pubDate>
</item>
<item>
<title>HashMap - Prośba o CodeReview</title>
<link>https://forum.pasja-informatyki.pl/550186/hashmap-prosba-o-codereview</link>
<description>

&lt;p&gt;Cześć,&lt;/p&gt;



&lt;p&gt;ostatnio w prywatnym projekcie potrzebowałem dwukierunkowego słownika. Ponieważ .NET nie zapewnia takiego &lt;em&gt;out of the box&lt;/em&gt; zaimplementowałem go samodzielnie. Prosiłbym o &lt;em&gt;code-review&lt;/em&gt; mojej implementacji.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://paste.ofcode.org/zCjUHJeghPcDm3UCwBFpd2&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://paste.ofcode.org/zCjUHJeghPcDm3UCwBFpd2&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Przykład zastosowania:&lt;/p&gt;



&lt;pre class=&quot;brush:csharp;&quot;&gt;
HashMap&amp;lt;string, int&amp;gt;  myHashMap = new()
{
    { &quot;AAA&quot;, 1 },
    { &quot;BBB&quot;, 2 }
};

myHaspMap[&quot;AAA&quot;] // zwraca 1
myHashMap[&quot;BBB&quot;] // zwraca 2
myHashMap[1] // zwraca AAA
myHashMap[2] // zwraca BBB&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C#</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/550186/hashmap-prosba-o-codereview</guid>
<pubDate>Wed, 01 Sep 2021 11:19:59 +0000</pubDate>
</item>
<item>
<title>Przypisanie wartości do klucza enum C# dictionary</title>
<link>https://forum.pasja-informatyki.pl/512762/przypisanie-wartosci-do-klucza-enum-c%23-dictionary</link>
<description>

&lt;pre class=&quot;brush:csharp;&quot;&gt;


```
  public enum Average
    {
        average  , min, max 
    };
```
W ClassA stworzyłem pole i generator liczb losowych
```
 class ClassA
    {


        public int Field { get; set; }

        public ClassA()
        {
            Random rng = new Random();
            Field = rng.Next(1, 100);
            Console.WriteLine();
        }

    }
```


W konstruktorze stworzyłem listę 100 pozycji klasy A i obliczyłem średnią z tych list, ale gdy chcę dodać te dane do listy, to średnia wyświetla tylko do 0 a korzystając z tych pol chciałem znaleźć najniższą i najwyższą średnią z listy, a następnie przypisz ją do klucza w dictionary

```      
        public ClassB()
        {


            for (int i = 0; i &amp;lt; 100; i++)
            {
                lista.Add(new ClassA());
                Console.WriteLine(lista[i].Field);

            }
             int total = 0;
             int average = 0;

            for (int index = 0; index &amp;lt; lista.Count; index++)
            {

               total = total + Field;
               average = total / lista.Count;
            }

            for (int k = 0; k &amp;lt; 100; k++)
            {
                averages.Add(average);
            }


        }

        public int _Field2
        {
            get
            {
                return Field2;
            }
            set
            {
                _ = averages.Min();
            }
        }

        public int _Field3
        {
            get
            {
                return Field3;
            }
            set
            {
                _ = averages.Max();
            }
        }

```


Jednak kiedy spróbuję uruchomić kod, pokaże tylko 0 i powinien wyświetlić średnią wartość przypisaną z pól, które przyjmują wartość list.min list.max
```
public Dictionary&amp;lt;Average, ClassB&amp;gt; dicc = new Dictionary&amp;lt;Average, ClassB&amp;gt;();
dicc.Add(Average.min, new ClassB(Field2));
dicc.Add(Average.max, new ClassB(Field3));



            foreach(KeyValuePair&amp;lt;Average , ClassB&amp;gt; item in dicc)
            {

                Console.WriteLine(item.Key + &quot;   &quot; + item.Value);
            }&lt;/pre&gt;



&lt;p&gt;Witam mam problem napisałem kod który generuje losowe liczby i przypisuje je do listy jednak kiedy chce policzyć średnia i wywołać najmniejsza i najwieksza średnia wypisuje Sie tylko 0&lt;/p&gt;</description>
<category>C#</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/512762/przypisanie-wartosci-do-klucza-enum-c%23-dictionary</guid>
<pubDate>Wed, 21 Oct 2020 10:18:58 +0000</pubDate>
</item>
<item>
<title>Nie rozumiem pewnej funkcji zwracalnej używającej Dictionary</title>
<link>https://forum.pasja-informatyki.pl/342267/nie-rozumiem-pewnej-funkcji-zwracalnej-uzywajacej-dictionary</link>
<description>

&lt;p style=&quot;text-align:center&quot;&gt;Witam!&amp;nbsp; otóż mam pewien problem z moją metodą... wszystko działa ale nie wiem jak akurat w tym przypadku else mam zwrócić wartość... chodzi mi o to aby zwrócił wszystkie elementy jakie są w słowniku (wartości konkretnych id),
&lt;br&gt;
Jednak nie wiem jak to mam zwrócić ... no bo tak, zwrócę w przypadku 1 elementu jeden element i zadziała, ale nie wiem jak zwrócić pełny słownik ze wszystkimi wartościami, czy istnieje jakaś skuteczna metoda pod ten przypadek?
&lt;br&gt;
Jeżeli wątek się pojawił gdzieś wcześniej to przepraszam za moje niedopatrzenie.
&lt;br&gt;
Jeżeli ktoś rozumie co jest w tym kodzie nie tak to prosiłbym aby mi to wytłumaczył gdzie popełniłem błąd, bądź jakiś link pod ten temat :)
&lt;br&gt;

&lt;br&gt;
Oto mój kod:
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:csharp;highlight:[84,71,70,68,69];&quot; title=&quot;Kod&quot;&gt;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication_3
{
    class Program
    {
        static void Main(string[] args)
        {
            DataContainer&amp;lt;object&amp;gt; dataContainer = new DataContainer&amp;lt;object&amp;gt;();

            dataContainer.AddToTable(4);
            dataContainer.AddToTable(&quot;tekst&quot;);
            dataContainer.AddToTable(true);
            dataContainer.AddToTable('d');
            dataContainer.AddToTable('a');

            Console.WriteLine(dataContainer.SelectFromTable());

            Console.ReadKey();
            
        }
    }

    class DataContainer&amp;lt;DataType&amp;gt;
    {
        private Dictionary&amp;lt;int, DataType&amp;gt; table = new Dictionary&amp;lt;int, DataType&amp;gt;() {
            { 0, default(DataType)}
        };

        public int GetTableItemsCount
        {
            get
            {
                return table.Count - 1;
            }
        }

        public void AddToTable(DataType value)
        {
            var acctualDbINDEX = table.Count;
            table[acctualDbINDEX++] = value;
        }

        public DataType SelectFromTable(int id = 0)
        {
            DataType[] dataTypes = new DataType[] {

            };

            bool handle = false;

            if(id != 0)
                //Select 1 element by ID
                dataTypes[0] = table[id];
            else
            {

                //Select all elements
                try
                {

                    //Tutaj sie rowniez generuje blad, nie rozumiem dlaczego tak sie dzieje
                    //Czyżbym użył złej konstrukcji?
                    foreach (var item in table.Keys)
                    {
                        dataTypes[item] = table[item];
                    }
                }
                catch (IndexOutOfRangeException error)
                {
                    Console.WriteLine(error.Message);
                }

                handle = !handle;
            }

            if (!handle)
                return dataTypes[0];
            else
                return // Tutaj mam problem jak to zwrocic...
        }
    }
}
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C#</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/342267/nie-rozumiem-pewnej-funkcji-zwracalnej-uzywajacej-dictionary</guid>
<pubDate>Tue, 10 Apr 2018 19:29:00 +0000</pubDate>
</item>
<item>
<title>Python3 problem z obluga wyjatku zwiazanego z string</title>
<link>https://forum.pasja-informatyki.pl/294045/python3-problem-z-obluga-wyjatku-zwiazanego-z-string</link>
<description>Czesc napisalem metode w pewnej klasie do ewidencji. A w tej metodzie oblusge wyjatku w ktorym parametr bedacy zbiorem slownikow jest podany w nieprawidlowym formacie. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://pastebin.com/UVBE74Gq&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://pastebin.com/UVBE74Gq&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Kod wyglada nastepujaco jednak mam problem poniewaz wpisujac nawet 'krowa' wyjatek nie jest wyrzucany a pozniej mam jakies glupoty w ewidencji. &lt;br /&gt;
&lt;br /&gt;
Wiecie jak ten problem rozwiazac w moim przypadku?&lt;br /&gt;
&lt;br /&gt;
Z gory dzieki za pomoc</description>
<category>Python</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/294045/python3-problem-z-obluga-wyjatku-zwiazanego-z-string</guid>
<pubDate>Sun, 15 Oct 2017 20:36:34 +0000</pubDate>
</item>
<item>
<title>Dictionary- Czy kluczem, lub wartością, mogą być obiekty?</title>
<link>https://forum.pasja-informatyki.pl/68976/dictionary-czy-kluczem-lub-wartoscia-moga-byc-obiekty</link>
<description>Witam serdecznie :)&lt;br /&gt;
&lt;br /&gt;
Tworzę ze znajomymi czytnik rss (na razie robię plan apki) i napotkałem na pewną wątpliwość:&lt;br /&gt;
&lt;br /&gt;
Chcę użyć słownika, który przechowywałby obekty klasy Artykuł jako klucz, a wartością byłby Kanał, do którego dany artykuł należy.&lt;br /&gt;
&lt;br /&gt;
Wątpliwość mam przy kluczu- klucze nie mogą się powtarzać, ale jak kompilator rozróżni, czy jeden obiekt klasy artykuł, nie jest tym samym obiektem w innym miejscu? Sam sprawdzi to metodą Equal() ? :) &amp;nbsp;Czy używanie obiektów, jako kluczy i wartości to dobre podejście? Czy możejakieś ID wprowadzać?&lt;br /&gt;
&lt;br /&gt;
ID i tak będzie konieczne, bo apka oprze się na bazie danych.</description>
<category>C#</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/68976/dictionary-czy-kluczem-lub-wartoscia-moga-byc-obiekty</guid>
<pubDate>Tue, 13 Oct 2015 18:20:04 +0000</pubDate>
</item>
</channel>
</rss>