Hirdetés

2022. szeptember 26., hétfő

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Teener kód

Hozzászólások

(#1) hiperFizikus


hiperFizikus
tag

Az Teener-code = Csitri-kód programozási nyelv egy jóindulatú élősködő más programozási nyelvekben ; egyelőre csak a JavaScript -hez készült el, neki is csak alapfokon . Én találtam ki: Okos Árnyék = Erdős Attila a szlovákiai Rimaszombatból, volt hipeFizikus .
:K

Ha valamelyest értesz a webprogramozáshoz, akkor máris használatba veheted ♥
<SCRIPT src = "Teener_subory/Cs a,priori.js" ></SCRIPT>
<SCRIPT src = "Teener_subory/Cs priori.js" ></SCRIPT>
<SCRIPT src = "Teener_subory/Cs gate.js" ></SCRIPT>
<script Language="JavaScript" >

</script>

Ezt a 3 db sort kell hozzá pótolnod bármelyik JS programodhoz sőt talán a PHP -hez, és persze a hozzá tartozó fájlokat bemásolnod a megfelelően linkelt helyedre, és máris működni fog . Csak annyi, hogy a Cs gate.js fájlt neked kellesz majd feltölteni sablon.funcion -okból álló tartalommal . Nem nehéz, biztosan menni fog neked is .
:DD

Hogy mi-miképpen van, ill. hogy hogyan kell használni e Csitri-kódot, azt hosszas magyarázat helyet nézd meg a Teener.html fájl szöveges kódjában !
// alert( '3+5-2 °ev'.ii() ) // fő próba 1 : hagyományyos sztringekhez
alert(`3+
5-
2 °ev`.ii() ) // fő próba 2 : az új templates stringhez

De hogy ne kezdjetek el mérgelődni, arról van szó, hogy a sztrig.ii() formalizmust, ill. alakot a programodban ezek után mindenütt tömegével fogod tudni használni ♥ Ha van mondjuk 50 képernyő.oldalas kódod, akkor a kedved szerint tele rakhatod evvel a sztring.ii() alakkal ! Vedd észre, hogy e sztring mind a 'régi' "hagyományos egy soros", mind az `új több soros` idézőjellel futni fog neked !!

Persze miután csak a Cs gate.js fájlt feltöltötted magadnak tartalommal ! Minden programodhoz részben ugyanazokkal és részben teljesen másokkal .

:))

Az Teener = Csitri kód valamivel több annál, mint amit most közre adtam, de hogy amíg én még dolgozom ezen - nem is tudom, hogy hány hétig-hónapig - , addig is begyakorolhassátok magatokat vele .
:W

Innen tölthetitek le e Teener = Csitri kód -omat : :C
Teener.zip

Mivel ez egy tömörített fájl (ZIP), ezért ki kellesz bontanod, és a kibontottban(!) indítanod kellesz a html fájlt ; meg persze alkalmazhatod azokat, amik benne van . :B

Kíváncsian várom a reakcióitokat , írjatok csak ide ... ? ;]
Itt megoszthatjátok egymással a Cs gate.js fájlba feltöltött releváns tartalmaitokat is .

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#2) hiperFizikus válasza hiperFizikus (#1) üzenetére


hiperFizikus
tag

> Válasz a JavaScript topic : #9425 baracsi, #9421 sztanozs tagok aggodalmaira !

>>> Mi a gyakorlati haszna ennek? Lehet túl egyszerű ember vagyok, de nem jöttem rá.

Nem is egyszerű rájönni . Az általános string.ii() alak egy új filozófiát visz a programozásba, köztük a webprogramozásba: HTM, CSS, JS, PHP . Először volt a HL holisztikus programozás, ami nem tudta kielégíteni a tömeges programozásra az igényt . Ezért dobták a HL holisztikus programozást, és kitalálták helyette a MD moduláris programozást, ami már alkalmas volt tömeges programozásra .

De filozófiailag van egy 3. út is: amikor is a HL holisztikus és a MD moduláris programozás együtt van jelen a programban . De hogy megint ne legyen belőle átláthatatlanság, ezért adtam neki egy egyszerű elrendezést, elméletileg lehetne más is:
`; MD ; HL ; MD ; MD ; HL ; HL ; HL ; MD ;`.ii() = `string °sab`.ii()
, ahol az `string` az `...` idézőjelek miatt látványosan több.sors is lehet .

Ezt az MD és HL láncot hivatott futtatni a Csitri-kódom, már e kezdetleges kivitelezésében is, ami csak olyan 3x 4db oldalnyi kód ! Persze mivel a tiéd és feltehetőleg értesz a webprogramozáshoz, ezért az ízlésednek megfelelően átszerkesztheted magadnak .

Ehhez nem is kell bonyolultnak lenni a Csitri-kódomnak:
1. kell egy Split(," ; ") vagy Split(,";") .
2. kell hozzá egy ciklus: for ... vagy while ... .
3. kell az így kapott intervallumokra szelekció: switch ... vagy if (){...} .
4. kell az elemi intervallumok feldolgozására sablonok: function sabNnév(){...} sokasága .
5. valahol a végkifejletnél szükség lehet még az eval(str) és a Join(str) -ekre is .

Ennek az a gyakorlati haszna, hogy ilyen HL+MD "szabad struktúrák" vihetők a moduláris programnyelvekbe pusztán avval a 3x 4db kódoldal kiegészítőmmel, szinte mindegyik programnyelvbe .

>>> Mutass erre valami konkrét (életszerű) példát? Nincs kedvem a kódot bogarászni...

A JS/PHP programban is és más imperatív moduláris programokban is kifejezéseket = művelet.sor és blokkokat = utasítás.oszlop használunk . A művelet.sorokban paraméterek, az utasítás.oszlopokban argumentumok helyek = pozíciók vannak . Ezekre a pozíciókra mindenüvé tehetjük a `string °sab`.ii() alakot, aminek a kifejezéseknél visszatérési értéke is lehet .

Feltételezem, hogy nem arra a lehetetlen(!) dologra kértek, hogy mutassak egy rakás példát, és mindet kifogástalanul aprólékosan le is programozzam nektek . Ha nem erre kértek, akkor tudok mutatni nektek "valami konkrét (életszerű) példákat" az "alakok ekvivalenciába állítása" módszerrel .
eval('5+8-7') <=> `5+8-7 °ev`.ii()

-> pl. a lelombozásra, tömörítésre
'5+8+7+4+3-1-2-9*3*5*4' <=> `+ 5,8,7,4,3 - 1,2,9 * 3,5,4 °kif1`.ii()
'w1 && x5 && fg23 && jk8 || rt4 || kl54 || er78' <=> `&& w1,x5,fg23,jk8 || rt4,kl54,er78 °kif2`.ii()
'(5+8-7)*(4*8+7)/(12^42)' <=> `(autó: 5+8-7)*{sisak: 4*8+7}/[élettartam: 12^42] °kif3`.ii() -> pl. a fellombozásra, dagályosságra
'w1 && x5 && fg23 && jk8 || rt4 || kl54 || er78' <=> `w1 And x5 És fg23 + jk8 Or rt4 Vagy kl54 - er78 °kif4`.ii()

'megy(w1) && megy(x5) && megy(fg23) && megy(jk8) || dio(rt4) || dio(kl54) || dio(er78)' <=> `megy: w1,x5,fg23,jk8 || dio: rt4,kl54,er78 °fg1`.ii()
'w1 = Empty ; hg57 = Empty ; kol3 = Empty ; w12 = Empty' <=> `w1, hg57, kol3, w12 := Ey °fg2`.ii()
'w1 = 45 ; hg57 = 124 ; kol3 = 8 ; w12 = 23' <=> `w1, hg57, kol3, w12 :== 45, 124, 8, 23 °fg3`.ii()
`if (w1 == 56){
blokk1
}
else if (w2 == 47){
blokk2
}
else if (w3 == 62){
blokk3
}
else if (w4 == 91){
blokk4
}; // if_ `
<=>
`IF w1/56 _
blokk1
eIF w1/47 _
blokk2
eIF w1/62 _
blokk3
eIF w1/91 _
blokk4
End.IF °vez1`.ii()
<=>
`IF w1/56 _ w1/47 _ w1/62 _ w1/91
>>
blokk1 _
blokk2 _
blokk3 _
blokk4
Vége.IF4 °vez2`.ii()

// és ha akarod, akkor a ciklusokra is hasonlóan lehet :W

`function alma(){
blokk
}; // fun_ `
<=>
`Func alma(){
blokk
} °prg1`.ii()
<=>
`Sub alma(){
blokk
} °prg1`.ii()
<=>
`Rutin alma(){
blokk
} °prg1`.ii()
<=>
`Bat alma(){
blokk
} °prg1`.ii()

/*
Tehát annak ellenére, hogy a JS-ben csak a function van, mégis használhatsz egyéb neveket a function helyet, köszönhetően a `... °prg1`.ii() alaknak !

Az utasításokhoz pedig verzió választót rendelhetsz:
TEXTAREA esetében legyen az alef ℵabc
.txt esetében legyen a mező #abc

Egy utasításnál egyszerre több verzió választó is lehet, sőt egyenlőséggel is lehet verziót megadni !
*/ :K

abc.replace(,) <=> Replace(abc,,)
<=>
`Replace(abc,,) #12 °vr1`.ii()
<=>
`Replace(abc,, #12) °vr2`.ii()
<=>
`abc.replace(, #12) °vr3`.ii()
// Ezért mondtam nektek, hogy a Csitri-kódom egy élősködő, de egy jóindulatú élősködő ! ♥
:U

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#3) sztanozs válasza hiperFizikus (#2) üzenetére


sztanozs
veterán

Miért volt szükség sting feldolgozás alapú eljárások megírására?
Miért nem csak a string függvényre implementáltad a metódusokat?
"+ 5,8,7,4,3 - 1,2,9 * 3,5,4".kif1();
"&& w1,x5,fg23,jk8 || rt4,kl54,er78".kif2();
"(autó: 5+8-7)*{sisak: 4*8+7}/[élettartam: 12^42]".kif3();

és stb, ha már szöveget akarsz feldolgozni?
Így elsőre elég macerásnak tűnik a dolog...

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#4) hiperFizikus válasza sztanozs (#3) üzenetére


hiperFizikus
tag

>> Miért nem csak a string függvényre implementáltad a metódusokat?

Mert kell egy 1 db közös jel neki a jobb áttekinthetőségért ! :K
például /: sB ii strB vw ...stb. sB=sablon
"+ 5,8,7,4,3 - 1,2,9 * 3,5,4".sBkif1();
"&& w1,x5,fg23,jk8 || rt4,kl54,er78".sBkif2();
"(autó: 5+8-7)*{sisak: 4*8+7}/[élettartam: 12^42]".sBkif3();

>> Miért volt szükség sting feldolgozás alapú eljárások megírására?
Mert másképpen nem vihető be "szokatlan" formalizmusok a program kódba ! :W

[ Szerkesztve ]

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#5) hiperFizikus válasza sztanozs (#3) üzenetére


hiperFizikus
tag

Készíthettek saját programnyelvet minden programotokhoz külön-külön Is !! - Csitri stílusban, így ni:
:W :))

<SCRIPT src = "prg1_subory/nyelv1.js" ></SCRIPT>
<script Language="JavaScript" >
`
// ... bármi 1 db string ...
°abs`.ii()
</script>

<=>

<SCRIPT src = "prg1_subory/nyelv1.js" ></SCRIPT>
<script Language="JavaScript" >
`
// ... bármi 1 db string ...
`.sBii()
</script>

Nyilván - ugye mondanom se kell, hogy - a
<script Language="JavaScript" >
// ...
</script>
-ben nincs más, és a

<SCRIPT src = "prg1_subory/nyelv1.js" ></SCRIPT>

-ban a prg1 az egyik programod, és a nyelv1 az egyik saját programozási nyelved !

[ Szerkesztve ]

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#6) hiperFizikus válasza hiperFizikus (#5) üzenetére


hiperFizikus
tag

Sőt kamuzhatunk is Csitri stílusban, így ni:
https://hu.wikipedia.org/wiki/Pszeudokód

<SCRIPT src = "prg1_subory/igaziKod1.js" ></SCRIPT>
<script Language="JavaScript" >
/*
pszeudokód
*/
</script>

<=>

<SCRIPT src = "prg1_subory/igaziKod1.js" ></SCRIPT>
<!--
pszeudokód
-->

Ahol a
<script Language="JavaScript" >
</script>
-ben nincs más .

[ Szerkesztve ]

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#7) hiperFizikus válasza hiperFizikus (#2) üzenetére


hiperFizikus
tag

Sziasztok ! :C

Megint nagyban dolgozok az új Csitri-kód verzión, de mindig új és újabb megoldásokat teszek bele, és megint csak megy rá az időm, ezért megelőlegezve feltettem nektek egy 1 db sablont, amit rögtön használhattok is ♥
;]

Mivel értetek a webprogramozáshoz, ezért ne habozzatok, ha ezt-azt változtatni szeretnétek rajta !
:)

Evvel kaszkád és láncolt szimultán értékadást vihetek a JavaScript -es kódotokba, de más nem JS programozási nyelvre is nagyon könnyen átírható, és akkor azon is menni fog nektek !!!
:DD

ITcafe3.zip <- innen tölthetitek le ; e egy ZIP , ezért ki kell bontani és a kibontottban(!) bogarászni .
:U

Így néz ki az általam kipróbált szimultán értékadások . Ehhez hasonlókat kellesz neked is írnod, könnyű :
:D

°szim1

értékadás:
= , lásd:
w1 = 5 ; alert(w1)

szimultán:
:= , =: , :== , ==: , lásd:
w1, w2, w3 := 5 ; alert(w1)
5 =: w1, w2, w3 ; alert(w1)
w1, w2, w3 :== 2, 5, 8 ; alert(w1)
2, 5, 8 ==: w1, w2, w3 ; alert(w1)

:=:= , =:=: , :==: , =::= , lásd:
wa1, wa2, wa3, wb1, wb2, wb3 :== 1, 2, 3, 4, 5, 6 ; wa1, wa2, wa3 :=:= wb1, wb2, wb3 ; alert(wa1+" "+wb1)
wa1, wa2, wa3, wb1, wb2, wb3 :== 1, 2, 3, 4, 5, 6 ; wa1, wa2, wa3 :==: wb1, wb2, wb3 ; alert(wa1+" "+wb1)
cm. =:= helyet =::= írandó

láncoltan:
~ , lásd:
w3 = 5 ~ w2 = 6 ~ w1 = 7 ; alert(w1)

az általam használt azonosítók:
cm. nézd át a **.js fájlokat érte, nem sokk
:DDD

Ahhoz, hogy a te JavaScript -edben menjen, ahhoz ezt kell megcsinálnod érte :

<SCRIPT src = "Teener3_subory/Cs a,priori.js" ></SCRIPT>
<SCRIPT src = "Teener3_subory/Cs szim1.js" ></SCRIPT>
<SCRIPT src = "Teener3_subory/Cs string.js" ></SCRIPT>
 
<script Language="JavaScript" >
// alert("betöltve") // bezárhatod - kinyithatod
</script>

És persze a linkeknek megfelelő helyen kell lenniük ezeknek az **.js fájloknak, meg ha úgy tetszik, át is nevezheted őket meg a linkjeiket !
:R

Ez a szimultánosdi nagyon jó szórakozás, és benne lesz a JS -edben ezek után mindig .
Ha hivatásosan programozol JS/PHP -ban, akkor a munkaadódat is meggyőzheted erről !
:W

Kicsit gyorsan össze lett csap értetek, de remélem ez nem lesz nektek gond !
:B

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#8) hiperFizikus válasza hiperFizikus (#7) üzenetére


hiperFizikus
tag

+ persze kimaradt : :((
A kaszkádos szimultán így néz ki : :K

w1 = 7, w2, w3 := 5 ; alert(w1)

wa1, wa2, wa3, wb1, wb2, wb3 :== 1, 2, 3, 4, 5, 6 ; wa1 = 77, wa2, wa3 :=:= wb1, wb2, wb3 ; alert(wa1+" "+wb1)

wa1, k1, k2, wa2, wa3, wb1, wb2, wb3 :== 1, 2, 3, 4, 5, 6 ; wa1 = 777, k1, k2 := 77, wa2, wa3 :=:= wb1, wb2, wb3 ; alert(wa1+" "+wb1)

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#9) martonx


martonx
veterán

Még mindig semmi értelme, de hajrá, veled vagyunk! :R

Én kérek elnézést!

(#10) hiperFizikus válasza martonx (#9) üzenetére


hiperFizikus
tag

Hogy hogy nincs értelme ? :F

Ez ugye nektek is fut ?
w1, w2, w3 := 5 ; alert(w1)

Már pedig ez egy értelmes értékadás ! :K

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#11) hiperFizikus válasza hiperFizikus (#8) üzenetére


hiperFizikus
tag

ohh, sajna kimaradt, hogy hogyan kell helyesen elválasztó jelezni a kaszkád szimultánt:
:DDD

Van a Cs szim1.js fájlban ez ni :

var ck ; 
ck = ["," , Chr(166) , "|"] ; // a "¦" jelet a html félre írta, itt lehet átállítani az elválasztójeleket 

Itt a ck[x] listát a kedved szerint átírhatod vagy hozzátehetsz, csak bátran, ne haboz !
;]

wa1, k1, k2, wa2, wa3, wb1, wb2, wb3 :== 1, 2, 3, 4, 5, 6 ; wa1 = 777¦ k1¦ k2 := 77, wa2, wa3 :=:= wb1, wb2, wb3 ; alert(wa1+" "+wb1)

:K

[ Szerkesztve ]

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#12) martonx válasza hiperFizikus (#10) üzenetére


martonx
veterán

Úgy értem, hogy nincs értelme, mert ezt le lehet írni js-ben is:

const w1 = w2 = w3 = 5; alert(w1);

Azaz azt nem látom, hogy a kódoddal, extra szintakszissal bohóckodás milyen pluszt ad a fejlesztőnek, mi az a plusz ami miatt az egyszeri fejlesztő elismerően csettint, hogy na igen, ez kell nekem, és elkezdi elégedetten használni (sőt mi több először megtanulni) amit csináltál.
Mutass egy olyan példát, ahol tényleg bármit jobbá, könnyebbé, áttekinthetőbbé tesz a normál javascripthez képest (netán tud bármi olyat, ami javascriptben megoldhatatlan a te extra kódod nélkül).
Amúgy meg továbbra is tök aranyos, amit csinálsz, csak a fióknak dolgozol vele.

Én kérek elnézést!

(#13) sztanozs válasza hiperFizikus (#11) üzenetére


sztanozs
veterán

Ahogy martonx is írta, a JS támogatja többszörös értékadást, sőt 1.7-es verziótól (kb 6 éve) már a dekonstrukciót is: [link]
let a, b, rest;
[a, b] = [10, 20];
console.log(a);
// expected output: 10
console.log(b);
// expected output: 20
[a, b, ...rest] = [10, 20, 30, 40, 50];
console.log(rest);
// expected output: Array [30,40,50]

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#14) hiperFizikus válasza martonx (#12) üzenetére


hiperFizikus
tag

Úgy látszik, hogy te a JavaScriptet felsőbbrendű lénynek nézed, sebaj, senki sem lehet tökéletes .
:P
De valamiért, mert például rákényszerülsz, más programozási nyelven (prg. ny.) is programozol, és hiányolod belőlük egyes JS alakokat . Ekkor ezekhez a JS alakokhoz, csak sablonokat kellesz írnod azon a másik prg. ny.-en . Ha meg több-sokk ilyen sablonod lett ottan, akkor őket egy univerzális function alá vonhatod . És evvel a Csitri-kód elvénél kötöttél ki !
:o
Legyen egy konkrét példa: te mondjuk programozol C+ ban és Pithon -ban, akkor ha csinálsz neki ottan sablont hozzá, akkor ott is használhatod a w1 = w2 = w3 = 5 alakot !
:(((

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#15) hiperFizikus válasza sztanozs (#13) üzenetére


hiperFizikus
tag

Akkor akár már most is, ezt is megteheted, mert a szimultán sablonja úgy is minden egyszerű egyenlőségre bont fel : :K

 ; `[a, b],  [c, h, ...rest] :== [10, 20], [10, 20, 30, 40, 50]`.ii() ; alert(h) ; 
:D

Ha nem fut, akkor csak egy kicsit kell igazítanod hozzá a sablonomon ♥ :DDD

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#16) martonx válasza hiperFizikus (#14) üzenetére


martonx
veterán

Dehogy nézem én a js-t semminek, és továbbra is várok egy értelmes példát, hogy miért jó a csitri kód :F
Nem azt, hogy mit lehet vele csinálni, hanem miért jó ezt csinálni! Nagy különbség.

Én kérek elnézést!

(#17) hiperFizikus válasza martonx (#16) üzenetére


hiperFizikus
tag

A Csitri-kódom a Huzzy-kódom következménye . Ezért a Csitri-kód is az igen nagy bonyolultságú problémák leprogramozására !
:W :DD

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#18) sztanozs válasza hiperFizikus (#14) üzenetére


sztanozs
veterán

python ban is vannak ugyanilyen formulák:
a,b,c=1,2,3
sőt
a,b,*c=1,2,3,4,5,6

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#19) sztanozs válasza hiperFizikus (#17) üzenetére


sztanozs
veterán

Mutass egy nagyon bonyolult problémát, lsz...

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#20) hiperFizikus válasza sztanozs (#19) üzenetére


hiperFizikus
tag

például: nagy videó teljesítményű programokhoz : videó játékok, virtuális szemüvegek, ...
:Y

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#21) polymorphin válasza hiperFizikus (#20) üzenetére


polymorphin
csendes tag

Kifejtened hogyan oldja meg ezeket a problemakat? Ne szegyenloskodj, menj bele a reszletekbe nyugodtan.

(#22) sztanozs válasza hiperFizikus (#20) üzenetére


sztanozs
veterán

Főleg, hogy a nagyon nagy teljesítményt egy interpretált nyelven belüli interpretált nyelvből akarod kicsikarni...

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#23) totron válasza polymorphin (#21) üzenetére


totron
őstag

Az ifjonti hév túlmenései.

(#24) hiperFizikus válasza polymorphin (#21) üzenetére


hiperFizikus
tag

A nagyon bonyolult problémák leprogramozására én 2 módszert találtam ki magamnak, amit most megosztok veletek . Előre is köszönöm a sok dicséretet, amit majd kapni fogok érte tőletek, pénzt és más értéket nem utasítok vissza .
:C

Az igen nagyon bonyolult problémák leprogramozása pedig a "majd csak valaki leprogramozza" módszerrel történik .
;]

1. nehezebb módszerem : :))
; ' ... '.ii() ;
Ebben az alakban a ... helyére hagyományosan karakterláncot szokás tenni . De ha elvonatkoztatunk a hagyománytól, akkor bármit tehetnénk, amit a szgép fel tud dolgozni:
0. karakterlánc
1. szimbólum láncolatot
2. piktogramokat pl. **.pmb -et
3. látható mátrixot pl. mtr3[x][y]
*.

Gyakorlatilag a piktogram a mátrixtól csak abban különbözik, hogy a piktogramnak csak a linkjét ismered, ellenben a mátrix minden képpontját változóként használhatod és külső fájlban tárolhatod . Ahol a Huzzy ~ Teener szövegszerkesztőjében az ; ' ... '.ii() ; alak ... helyén lévő mátrix {és persze a piktogram is} ugyanúgy látható, mint a karakterlánc .

A **.ii(){ } function pedig csak a sablonok jól szervezett gyűjteménye .
Mit csinál a sablon ? -> A sablon feldolgozza az ' ... ' idézőjel tartalmát köztük nem csak a karakterláncot, hanem a kép.mátrixot is .
=> érted ugye: programot írni nem csak betűkkel lehet, hanem képek{mátrixok} rajzolgatásával is .
-> hogy könnyeben megértsed: a JavaScript programodat megírhatod **.txt fájlban, aminek a kiterjesztését átírhatod **.js -re . De ha a programodat képszerkesztőben "a betűket egyenként megrajzolva" adod meg gépelést kerülve, akkor kinézetre úgy néz ki mint amikor ránézel a **.txt fájra, a **.txt fajlban lévő JS programodra . Nem kell hozzá más, mint a képet szöveggé konvertáló segédprogram . És mi lesz ez a kikonvertált szöveged ? - hát a futtatható JS programod .
-> no most ez a konvertáló program a te uralmad alatt áll, ez azt jelenti, hogy a konvertáló program forráskódját szerkeszteni vagy képes ! - ahol e forráskód akár szintén Huzzy ~ Teener nyelven írható, egy egyszerűbb verzióján .
=> ekkor pedig tulajdonképen semmi sem gátol a futtatható kép.mátrix rajzolási szabadságodban . Érted, semmi se ...

2. könnyebb módszerem : :DD
A Csitri-kód néhány üres.kódvázból tevődik össze, ahol ezeket az egyes üres.kódvázakat nevezzük zombiknak . Ezek a zombik nagyon jól használhatók más kicsit bonyolult problémáknál: például
1. a természetes nyelv {szerintem} néhány ilyen zombiból tevődik össze:
elemek halmozásának zombija + típusok zombija + osztályok zombija + stílusok zombija + olvasási irányok zombija .
*.

Itt a trükk az, hogy a nagyon bonyolult problémákat sokk zombira bontjuk szét ! - persze jól kell csinálni, nehéz is megcsinálni .

:R szép napot ♥

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#25) hiperFizikus válasza sztanozs (#22) üzenetére


hiperFizikus
tag

Nem ismerem a gépi kódot, csak annyit tudok, hogy az Assembly -it használják hozzá .
Ha bele lehetne erőszakolni az Assembly -be sablonokat, akkor e sablonoknak lehet egy 1 db közös őse, és ez már a Csitri-kódom elvének a megvalósítása lenne Assembly -ben ♥
:W

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#26) hiperFizikus válasza totron (#23) üzenetére


hiperFizikus
tag

:P

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#27) sztanozs válasza hiperFizikus (#24) üzenetére


sztanozs
veterán

Olyan hosszan tudod megfogalmazni a semmit, hogy elmehetnél politikusnak (vagy szóvivőnek)....

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#28) hiperFizikus válasza sztanozs (#27) üzenetére


hiperFizikus
tag

Rátapintottál a lényegre: a már létező programnyelveknek külön-külön megalkothatod az üres vázát = néhány zombi, aztán a kedved szerint tehetsz beléjük saját házi alakos sablonokat: keveset-sokat ♥
:W :U

Például a Lisp -nek, a Pascal -nak, a Pithon -nak, C++ -nak, ...stb. ezt a kiürített vázát mindenki örömére leprogramozod, ami nem is nagyméretű és még nem túlságosan bonyolult kódocska, akkor utána avval{kevéssel-sokkal} töltöd fel, amivel csak akarod .
;]

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#29) sztanozs válasza hiperFizikus (#28) üzenetére


sztanozs
veterán

Értem én, hogy szeretnél létrehozni egy új nyelvet - és maga a tevékenység igen megsüvegelendő.
A csillámpor és pixiedust amit köré szórsz az viszont nagyon bosszantó :D

Amennyiben elfogadsz egy javaslatot:
Először dolgozd ki a tweener kódod teljes nyelvi szerkezetét, és dokumentáld le valahol, ami publikusan elérhető (pl github), mert én pl szívesen megnézném, ha érthetően dokumentálva és jól összerakva lenne.
Utána állj neki szépen kidolgozni az egészet valamilyen magas szintű nyelvben (pl JS)
Végül próbáld meg ezt alacsonyabb szinten implentálni (pl LLVM)

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#30) hiperFizikus válasza sztanozs (#29) üzenetére


hiperFizikus
tag

" Először dolgozd ki a tweener kódod teljes nyelvi szerkezetét, és dokumentáld le valahol, ami publikusan elérhető (pl github), mert én pl szívesen megnézném, ha érthetően dokumentálva és jól összerakva lenne. "
:)

Itt van kidolgozva a Teener ~ Csitri kódom nyelvi szerkezete . Olyan, hogy nagyon rövid, kulcsszavai{azonosítói} alig vannak ezek is megváltoztathatók, elfér 2.5 képernyő.oldalon , és ha akarod akkor kód ha meg úgy akarod akkor programozási nyelv ...

:K
21:46 2022.08.23.
{ } Csitri új leírása, elve : a dolgok jelenlegi állasa szerint

I. alkalmazott mutatványok: rengeteg

strN = "abcd..." ; // elemi: idézőjeles string
. . vagy
strN = [strN, strN, strN ...] ; // általános: lista, tömb
. .vagy
strN = [ [],[],[],[],[] ......] // speciális: kép.mátrix

-----

pl. kb.
[strN(cím)].sabn_xyN().sabn_xyN().ewaN() <=> strN(cím).ii() // n,N=szám ~ cím=betűs
// és ezekhez beépített(!) trükkös, tájékoztató (cím)ke segédletek, kontra kitett n,N=szám -ok

pl. sp.
strN.--- // akár 1 db totál méretű is lehet

pl.
// e névadások csak eligazítás véget vannak így, neked ezek másképpen is lehetnek

-----

II. komponensek: több-sok

String.prototype.ewaN = function (){ // kényelmi összetett eval() : N=szám
. .vagy
Array.prototype.ewaN = function (){ // eval(str) <=> str.ewa()
// ha kell, akkor akár valami különcség is lehet benne
return eval(this) ;
}; // func_
// << >> ewaN :

és

String.prototype.sabn_xyN = function (){ // újrahasználható gyors sablonok : n,N=szám
. .vagy
Array.prototype.sabn_xyN = function (){ // sablon : lista, tömb, kép.mátrix
// valami sajátosság szokott benne lenni
return [,,,] // több érték is mehet egyszerre
}; // func_
// << >> sabn_xyN :

. .meg

III. kompozíció: egy-néhány

String.prototype.ii = function (){ // sablonok univerzálisa, őseredője, anyja, előjárója
. .vagy
Array.prototype.ii = function (){ // lista, tömb, kép.mátrix
// valami [üres.vázak=zombik] is kellhetnek bele
. . . ösz.választás/
. . . . . . ablak1: // al.választás, n,N=szám ~ címkék
. .strN.sab1_**N().ewalN() ;
. . . . . . strN.sab1_**N().ewalN() ;
. . . . . . strN.sab1_**N().ewalN() ;

. . . . . . ablak2:
. . . . . . strN.sab2_**N().ewalN() ;
. . . . . . strN.sab2_**N().ewalN() ;
. . . . . . strN.sab2_**N().ewalN() ;

. . . . . . ablak3:
. . . . . . strN.sab3_**N().ewalN() ;
. . . . . . strN.sab3_**N().ewalN() ;
. . . . . . strN.sab3_**N().ewalN() ;

. . . . . . ablakn:
. . . . . . strN.sabn_**N().ewalN() ;
. . . . . . strN.sabn_**N().ewalN() ;
. . . . . . strN.sabn_**N().ewalN() ;
. . . . . . ...stb. ?
. . . /vége

return kiválasztott(lánc) ; // feldolgozás után
}; // func_
// << >> ii :

:D

Akkor érzel rá igazán, ha kipróbáltad ♥ A kérdéseitekre továbbra is szívesen válaszolok !
:DD

" Utána állj neki szépen kidolgozni az egészet valamilyen magas szintű nyelvben (pl JS) "
Folyamatban van, de ez lassú, idő igényes .
:O

" Végül próbáld meg ezt alacsonyabb szinten implentálni (pl LLVM) "
Vettem a lapot, de ez még távlati .
:DDD

[ Szerkesztve ]

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#31) sztanozs válasza hiperFizikus (#30) üzenetére


sztanozs
veterán

Kezd alakulni ez :)
Az értékadások módja és némi alap kiértékelés már megvan (bár lássuk be, az eval()-t bedrótozni nem nagy mutatvány).
Az viszont nem jött le, hogy milyen a nyelv szerkezete. Mi a feldolgozás módja? Utasítások, vagy stream/lisp? Hogy képzelsz el egy feltételes szerkezetet, ciklust, rekurziót?

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#32) hiperFizikus válasza sztanozs (#31) üzenetére


hiperFizikus
tag

(bár lássuk be, az eval()-t bedrótozni nem nagy mutatvány)
Ez inkább elvi kérdés . Azért lett bedrótozva, hogy a lánc végére esztétikailag szépen illeszthető legyen . Ha meg már functiont kapott, akkor mást is beletehetsz, ha úgy akarod .
:)

Hogy képzelsz el egy feltételes szerkezetet, ciklust, rekurziót?
Ezeket nem én képzelem el, hanem a programozó . Ez a programozóra van bízva, a programozó szabad alkotása, ami alkotást az strN -be teszi bele . A Csitrinek csak utólag deklarált utasításai vannak, köztük csak utólag deklarált ciklusai ...stb. .
:K

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#33) hiperFizikus válasza martonx (#16) üzenetére


hiperFizikus
tag

Csillámpor és pixiedus, pl. ezért is jó /:
Csak alig félóra alatt hoztam össze ezt a sablont:
:C
Evvel az ` `.o() sablonnal a JavaScriptben nem csak angol betűket használhatsz azonosítóknak, hanem pl. magyar diakritikus betűket is ♥ Mivel elvi kérdés, hogy beszédesek legyenek az azonosító, ezért miért ne beszélhetnének már mától is magyarul !

Mivel egészen kicsi, ezért komplett bemásoltam nektek ide . Csak át kellesz másolnotok, és ha minden igaz már futni is fog nektek .

Csak a 14 sros String.prototype.o = function (){ // a sablon kezdete kell nektek belőle, csak ezt a 14 sort kell betennetek valamennyi JS programotokba, és már is kedveekre magyarkodhatok a JS azonosítóival ♥
:DD

<html><head><title>váltó sablon</title></head><body><font ID="idF01" face="Verdana" size=2 > 
<br><center ID="idCe1" >magyar angol váltó sablon -- Erdős Attila = Okos Árnyék, Rimaszombatból !<br>
Arra kérek minden jóérzésű érdeklődőt, hogy terjessze az ismerősei körében, mert a Google böngészővel nehéz rátalálni !</center><br>
<br><input type="button" ID="idBb1" onclick="Start()" title=" Súgó: Indítja a sablont ! " value="Start" ><br><br>
<script Language="JavaScript" >
function Start(){
// alert( "123˙árvíz˙45˙tűrő˙67˙fúrógép˙89".o() )
//"˙álért˙(777)".o()
//
"˙árvíz˙() ; ˙tűrő˙() ; ˙fúrógép˙()".o()
}; // func_
//    << >> Start : 
// -----------------------------------------------
String.prototype.o = function (){ // a sablon kezdete
var x, y, xa, yb ; xa = this.split("˙") ;
yb = [ "árvíz","arviz" , "tűrő","turo" , "fúrógép","furogep" , "álért","alert" ] ; 
    for (x=0 ; x < xa.length ; x++){
    for (y=0 ; y < yb.length ; y += 2){
        if (xa[x] == yb[y]){
            xa[x] = yb[y+1] ; 
            break ;
        }; // if_ 
    }; // for_
    }; // for_
eval(xa.join("")) ; 
}; // func_
//    << >> o : 
function arviz(){
    "˙álért˙('Nem')".o() ; 
}; // func_
//    << >> árvíz : 
function turo(){
    "˙álért˙('szégyeled')".o() ; 
}; // func_
//    << >> tűrő : 
function furogep(){
    "˙álért˙('magad ?')".o() ; 
}; // func_
//    << >> fúrógép : 
// -----------------------------------------------
// alert("betöltve") ; // nyit-csuk
</script>
<br><br></font></body></html>

Kérlek titeket, hogy fordítsátok át Pithonra is és C++ -ra is ezt a 14 soromat, aztán másoljátok be ide ♥
;]

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#34) sztanozs válasza hiperFizikus (#33) üzenetére


sztanozs
veterán

python - némileg rövidebbnek tűnik, mint a tiéd...
def árvíz(): print("Nem")
def tűrő(): print("Szégyeled")
def fúrógép(): print("Magad?")

árvíz()
tűrő()
fúrógép()

C++-t meghagyom pmonitornak

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#35) sztanozs válasza hiperFizikus (#33) üzenetére


sztanozs
veterán

ne már, hogy az előzőtől elfogyott a lelkesedés :D

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#36) martonx válasza sztanozs (#35) üzenetére


martonx
veterán

Szvsz már a legújabb verzió készül, amivel már (most kapaszkodj meg jól) változókat lehet majd definiálni, ellentétben más fos programnyelvekkel. Még pár verzió, és tudom hihetetlen, de akár metódusokat is fogsz tudni használni a Csitri kódban :D

Én kérek elnézést!

(#37) hiperFizikus válasza martonx (#36) üzenetére


hiperFizikus
tag

ne már, hogy az előzőtől elfogyott a lelkesedés :D

Nem a lelkesedés fogyott el, hanem napokon át végeláthatatlanul kódolni unalmas !
Úgy becsülöm, hogy 1.5 hét és meg lesz a "Csitri legújabb bemutatója" .
:O

Szvsz már a legújabb verzió készül, amivel már (most kapaszkodj meg jól) változókat lehet majd definiálni, ellentétben más fos programnyelvekkel. Még pár verzió, és tudom hihetetlen, de akár metódusokat is fogsz tudni használni a Csitri kódban :D

A áá, a Csitri kód csak általános kereteket biztosít ahhoz te rengeteg utólag deklarált ad hoc változókat és utólag deklarált ad hoc metódusokat alakíts ki stringjeidben ! Pontosabban egyelőre a működő °cim -ék bemutatóját készítem ♥
;]

[ Szerkesztve ]

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#38) sztanozs válasza hiperFizikus (#37) üzenetére


sztanozs
veterán

Szuper, már alig várom :D

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#39) hiperFizikus válasza sztanozs (#38) üzenetére


hiperFizikus
tag

:R :DD sztanozsnak is
Hát 1.5 hétre becsütem, de rájöttem, hogy hamarább is örömet szerezhetek nektek egy újabb különös sablonommal . Igyekeztem, hogy ez a különös sablon legalább most szombat délutánra meglegyen, de nem voltak kegyesek hozzám a szellemek . Aztán csak úgy bevillant, hogy van nekem belőle egy izgis kis ; function u(){} ; -om, ami combocskát rágcsálhatjátok, amíg 2-3 nap alatt megleszek avval a különös nagyobb és bonyolultabb új sablonommal ♥

Array.prototype.u = function (cs,e1){ // csak átforgatja a listát egy logikai értékre 
var x, xa, wBL ; xa = this ; wBL = false ; 
    if (cs == "a°"){ 
        for (x=0 ; x < UBound(xa) ; x++){
            wBL = wBL || (e1 == xa[x]) ; 
        }; return [wBL] ; // kiadás
    } else if (cs == "b°"){ 
        for (x=0 ; x < UBound(xa) ; x++){
            wBL = wBL || inLeftT(e1, xa[x]) ; 
        }; return [wBL] ; // kiadás
    } else if (cs == "c°"){ 
        for (x=0 ; x < UBound(xa) ; x++){
            wBL = wBL || inRightT(e1, xa[x]) ; 
        }; return [wBL] ; // kiadás
    } else if (cs == "d°"){ 
        for (x=0 ; x < UBound(xa) ; x++){
            wBL = wBL || InStrBL(e1,xa[x]) ; 
        }; return [wBL] ; // kiadás
    }; // if_
}; // func_
//    << >> u : 

Ez egy igen hatékony formalizmus, ugyan JavaScript -en lett megírva, de más programozási nyelvre is át lehet költeni ♥

például:

if ( [ .. tetszőlegesen sok elem .. ].u('a°', e1)[0]  ){ // a° választható variáció
    // valami tetszőleges utasítás(ok)
}; // if_

Ez nem csinál mást, mint átforgatja az [ ] adott listát, és egy logikai értéket ad vissza . imádom ezt az alakot ♥
:K

Ami a legfantasztikusabb benne, hogy a
    if (cs == "a°"){ 
    } else if (cs == "b°"){
  } else if (cs == "c°"){
  } else if (cs == "d°"){ 
    }; // if_

listát a belátásod szerint bárhogyan bővítheted magadnak anélkülé hogy új function -ok rengetegét kellene írogatnod ♥
:W

Ugye kipróbáljátok ? ;]

[ Szerkesztve ]

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#40) martonx válasza hiperFizikus (#39) üzenetére


martonx
veterán

És ez mire jó? Javascriptben meglévő array.some, find, filter, map nem pont ugyanerre valók?
Tanács: használj normális változó neveket, metódus nevet.
Szerinted melyik a beszédesebb? Array.some vagy array.u?

Én kérek elnézést!

(#41) hiperFizikus válasza martonx (#40) üzenetére


hiperFizikus
tag

Sokat gondolkodtam arról, hogy ugye vannak a programnyelvek függvénykönyvtára, benne rengeteg ötletes függvénnyel . No most kb. melyek az igazán nem nélkülözhető függvények és eljárások, amivel a többi összehozhatók ?
:F

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#42) martonx válasza hiperFizikus (#41) üzenetére


martonx
veterán

Ez most költői kérdés volt?

Én kérek elnézést!

(#43) hiperFizikus válasza martonx (#42) üzenetére


hiperFizikus
tag

Hát költői, de értelmes választ várok .
:)

A gázt is és a féket is egyszerre nyomni nem menő dolog !

(#44) sztanozs válasza hiperFizikus (#39) üzenetére


sztanozs
veterán

Erre van pythonban pár utasítás, kifejezetten jól jön pl az u.n. lista-kifejezés:
lista = [1,2,3,4,5]
érték = 1
# a°
a = any(elem == érték for elem in lista) # True
# összes egyezőség vizsgálata
A = all(elem == érték for elem in lista) # False
# string vizsgálatok
lista = ['árvíz', 'tűrő', 'tükör', 'fúrógép']
érték = 'víz'
b = any(elem[:len(érték)] == érték for elem in lista) # False
c = any(elem[-len(érték):] == érték for elem in lista) # True
d = any(érték in elem == érték for elem in lista) # True

Ezért nem érdemes külön függvényeket csinálni, de ha mégis, könnyen bedobható egy lambdába, pl:
a = lambda lista, érték: any(elem == érték for elem in lista)

De az ECMAScript 5.1 már támogatja az array.some és array.every függvényeket, szóval az első template kb így néz ki javascriptben:
a = lista.some((elem) => elem == e1)

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#45) sztanozs válasza hiperFizikus (#43) üzenetére


sztanozs
veterán

kb az alábbiakból minden összehozható:
- összeadás
- memóriába írás
- memóriából olvasás
- feltételes elágazás

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Teener kód
Copyright © 2000-2022 PROHARDVER Informatikai Kft.