eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaKlawiatura - rozkład liter na 'guzikach'Re: Klawiatura - rozkład liter na 'guzikach'
  • Data: 2014-05-22 13:59:29
    Temat: Re: Klawiatura - rozkład liter na 'guzikach'
    Od: g...@s...invalid (Adam Wysocki) szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    AlexY <a...@i...pl> wrote:

    >> Jak jest jeden, to jest przypisane. Jak są dwa, to jest porównane.
    >
    > Tam jest if, to powinno uniemożliwić próbę ustawienia zmiennej gdy
    > polecenie oczekuje argumentu.

    Umożliwia, bo:

    - if przyjmuje warunek logiczny
    - konstrukcja a = b zwraca wartość po przypisaniu
    - wartość ta jest niejawnie konwertowana na wartość logiczną (0, non-zero)

    Są sposoby, żeby pomylenie = i == nie powodowało problemów:

    - włączenie warningów (kompilator umie o tym ostrzegać)
    - porównywanie stałej ze zmienną, a nie zmiennej ze stałą

    Konstrukcja (a = 1) zwróci zawsze true. Konstrukcja (1 = a) zwróci
    błąd.

    > Co ze starym dobrym let, set itp?

    let deklarujące zmienną? Też są deklaracje zmiennych, ale bez słówka
    let. A set - o jakim set mówisz, tzn. z jakiego języka?

    >> Jak jest &, to jest bitwise-and, jak jest &&, to jest logical-and.
    >
    > Tak jakby nie można po typie danych rozpoznać. Chyba trzeba je
    > zadeklarować nie?

    Niejawna konwersja. Co innego masz na myśli pisząc (a & 0x20) a co innego
    pisząc (a && b) (a i b mogą być zmiennymi int).

    >> != - tak się przyjęło. Jak inaczej byś negował? ~? ~ to negacja
    >> bitwise, ! logiczna, != nierówne.
    >
    > Ale kaszana... dla przejrzystości użyłbym zapisu słownego.

    Po prostu tak się przyjęło. W perlu jest jeszcze gorzej :)

    >> O to samo o co w begin i end.
    >
    > Nie żebym chciał jakąś wojnę toczyć czy coś zmienić, tak jak piszesz to
    > się przyjęło, ludzie się nauczyli i używają, ale można było lepiej, bez
    > gmatwaniny.

    Klamry są potrzebne, bo instrukcje typu if wykonają tylko jedną
    instrukcję.

    if (a == b)
    {
    a = 1;
    b = 2;
    }

    To coś innego niż:

    if (a == b)
    a = 1;
    b = 2;

    I jeszcze innego niż (akurat dla ifa to nie ma sensu, ale np. dla fora
    ma):

    if (a == b) ;
    a = 1;
    b = 2;

    --
    SELECT finger FROM hand WHERE id = 3;
    http://www.chmurka.net/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: