- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
Hozzászólások
Ez mire jó?
Pythonban voltam érdekel, az kimondottan hisztis a space/tab keverésére
- A hozzászóláshoz be kell jelentkezni
Hoppá, azt nem mondtam, hogy C/Java/Js/Html/etc (forrás)programok szerkesztéséről volna itten szó. Akkor most mondom.
Talán ott kezdeném, hogy zsenge úrfi koromban mindig új programokat írtam, mindig egyedül, mindig a saját szórakoztatásomra. Szóval beállíthattam volna az editorban a TAB karakter értelmezését mínusz 3.8 szóközre is, az sem zavart volna senkit.
Aztán az elmúlt 25 évben mindig másokkal együtt kellett dolgoznom, pénzért, méghozzá többnyire meglévő kód fejlesztésén.
Szóval az nagyon szép dolog, hogy én (vagy bárki) 2/3/4/n karakter széles indentációval (ezt manapság néha behuzás (punch) néven emlegetik) szeretnék alkotni, de ettől még a TAB karakter a 8k+1-edik pozicíóra lépést jelenti a hagyományok szerint. (Tudom, itt meg lehetne emlékezni a programozható TAB-pozíciókról, meg a formátumozott képernyőkről, csak ezek nem nagyon tartoznak ide.)
Következésképpen az volna a jó, ha az editor is adna olyan opciót, hogy pl: indentation=4, TAB-positions=standard/8, optimize-spaces-with-TABs=yes/no/idontcare
- A hozzászóláshoz be kell jelentkezni
Amennyire értelek, ezt egy normális IDE megteszi. IntelliJ, PyCharm, Eclipse, Netbeans. C-hez nem tudok ilyet.
- A hozzászóláshoz be kell jelentkezni
+1, a notepad++ nem IDE...
- A hozzászóláshoz be kell jelentkezni
Renden, de akár ide, akár oda, nem tehetek fel minden kolléga Windows-ára mcedit-et... Már kezdem azt hinni, hogy maradunk a tabsize=8-nál, viszont az indentálás legyen 4xSpace kézileg nyomkodva. 19118-ban nem rossz. (Bocs, 2018, megint előjött a régi Y2000 probléma.)
- A hozzászóláshoz be kell jelentkezni
Kollégáknak style guide + refactoring + egy méretes lószerszám a hátsófelükbe ;)
- A hozzászóláshoz be kell jelentkezni
Normális IDE???? Még a hagyományos vi is tudja (még csak vim se kell hozzá. Hint: tabstop és shiftwidth opciók.)
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
- A hozzászóláshoz be kell jelentkezni
Mit?
Hogy felvisìt, ha nem az adott nyelv szokásaihoz illeszkedő indentálást, netán itt tab, ott space jellegűt talál?
- A hozzászóláshoz be kell jelentkezni
Nem a visítást tudja, hanem a beállíthatóságot :-)
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
- A hozzászóláshoz be kell jelentkezni
Is. Nekem asszem, a pycharm vonyított, mint a ... mikor véletlenül egy rosszul beállított vim hagyott TAB-okat a .p, source-ban.
- A hozzászóláshoz be kell jelentkezni
"ettől még a TAB karakter a 8k+1-edik pozicíóra lépést jelenti a hagyományok szerint."
Nem. A TAB karakter az pontosan egy behúzást jelöl. Logikai dolog. Az, hogy ez a behúzás mekkora, az más kérdés (ott van behúzás, ahol tabulator stop van). Egy írógépen általában egy behúzást lehetett beállítani. Szó nincs itt programozható pozíciókról stb. A tabulálás, a tabulátor billentyű (és ennek modellje, a TAB karakter) az írógépektől ered a számítástechnikába. És nem, semmi köze a 8k+1-hez. Max. te úgy ismerted és úgy szoktad meg. De attó lmég a tab mérete változó: pontosan a következő tab stopig tart.
A behúzás szót meg nem manapság találták ki, hanem egy nyomdai szakszó, évszázadok óta használják.
- A hozzászóláshoz be kell jelentkezni
Ez is hasznos információ, köszönet érte. Mondjuk azon nem segít, hogy itt text-fájlokról van szó, ahol tipikusan nincs olyan meta-információ, hogy "na ebben a fájlban a tabstop-ok így állnak: 1, 10, 16, 40"
Vagy nézhetünk itt és most egy példát (AAA\tBBB):
AAA BBB
Hány szóközt mutat a borzolóprogram AAA és BBB között?
- A hozzászóláshoz be kell jelentkezni
Egy tab (behúzás) valójában nem x darab szóköz hosszúságú a nyomdászatban.
Hanem általában két kvirt, ha egy új bekezdés első sorának behúzásáról van szó. Megvannak rá a tipográfiai szabályok, hogy mikor mekkora behúzást kell használni.
Az, hogy egy TAB karakter a számítógépen milyen széles legyen, megint csak más kérdés. Proporcionális betűknél, igényes szövegszerkesztésnél nincs is értelme azt mondani, hogy hány szóköz legyen - hiszen például sorkizárt szövegben a szóközök változó szélességűek.
Az más kérdés, ha azt akarod kérdezni, hogy a monospace betűket és téglalaprácsot használó (1 téglalap = 1 karakter) szövegtördelésben hány téglalap szélességű legyen egy behúzás. Ez meg sok mindentől függ. De attól még nem igaz az, hogy a tabulátor = x db szóköz.
Az igaz, hogy a tabulátor szélessége x db betű szélességének felel meg (és tök mindegy, melyik betűé), ha írógépbetűt használ az ember. Nem mondhatod, hogy x darab szóköz a szélessége, hiszen ugyanúgy igaz az is, hogy x db b betű szélességű hely, x db M betű szélességű hely stb.
A "borzolóprogram" nem x db szóközt, hanme x kitöltetlen helyet mutat AAA és BBB között. És pont annyit, amennyit megmondasz neki, hogy hány karakterhelyet ér 1 behúzás.
Én még mindig tartom, hogy hibás úgy gondolni a TAB karakterre, mint x db szóköz. Az egy x szélességű kihagyott karakterhelyet jelent.
A TAB-nak van szemantikus jelentése. És nem azt jelenti, hogy x db szóköz.
A CR-nek, LF-nek is van szemantikus jelentése. Például egy 80 soros szövegben a harmadik pozícióra tett CR és a negyedik pozícióra tett LF sem jelent 77 szóközt.
Hagyjuk meg minden vezérlőkaraktert annak, amit jelent és ne próbáljuk "x db szóköz" formára átfordítani.
Szerintem.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a sok hasznos kiegészítő információt, ezeknek a fényében szeretném árnyalni a kérdésemet: Az alábbi példában hányadik pozícióra kerül a 'BBB' rész, és miért éppen a kilencedikre (most tegyük fel, hogy a fair play jegyében nem kezdünk pánikszerűen a userContent.css irányába kapkodni a kérdés megválaszolása előtt)
AAA BBB
- A hozzászóláshoz be kell jelentkezni
" Az alábbi példában hányadik pozícióra kerül a 'BBB' rész, és miért éppen a kilencedikre"
CSS3-ban a tab-size property default értéke a W3C specifikációja alapján 8. Ennyi.
https://www.w3.org/TR/css-text-3/#propdef-tab-size
- A hozzászóláshoz be kell jelentkezni
Ahá, hogy W3C! És ez vajon az ő egyéni leleményük volt? Dobtak d10-et, és ez jött ki?
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni