HyperTalk

De Viquipèdia
Dreceres ràpides: navegació, cerca
HyperTalk
Captura de pantalla d'HyperCard: codi font de funció HyperTalk

Captura de pantalla d'HyperCard: codi font de funció HyperTalk.
Desenvolupador(s) Dan Winkler (Apple Inc.)
Sistema operatiu Mac OS
Tipus llenguatge de programació
Llicència propietària

HyperTalk és un llenguatge de programació procedural d'alt nivell, creat el 1987 per Dan Winkler i utilitzat conjuntament amb el programa d'hipermèdia HyperCard d'Apple Computer, creat per Bill Atkinson. El públic destinatari principal de HyperTalk va ser de programadors iniciants, per tant, els programadors HyperTalk van ser anomenats en general com a autors, i el procés d'escriure programes s'anomenava «scripting».[1] Les escriptures de HyperTalk són bastant similars a l'anglès escrit, i utilitzen una estructura lògica semblant al llenguatge de programació Pascal.[2]

El llenguatge no es sensible a majúscules i minúscules i al principi va ser interpretat, però des de HyperCard 2.x es va «compilar virtualment». És compatible amb les estructures de control bàsiques de les llenguatges procedurals: repeat for/while/until, if/then/else, així com trucades de «handlers» de funció i missatge (un handler és una subrutina, un handler de missatges és un procediment). Els tipus de dades són transparents per a l'usuari, la conversió es realitza de forma transparent en segon pla entre les tires de caràcters i els números. No hi ha classes o estructures de dades en el sentit tradicional; el seu lloc va ser pres per cadenes literals especials, o més bé «llistes» de «elements» delimitats per comes (en les versions posteriors la propietat d'«itemDelimiter» permet escollir un caràcter arbitrari).

Algunes mostres d'scripts[modifica | modifica el codi]

on mouseUp
put "100,100" into pos
repeat with x = 1 to the number of card buttons
set the location of card button x to pos
add 15 to item 1 of pos
end repeat
end mouseUp

on mouseDown
put "Disk:Folder:MyFile" into filePath -- no need to declare variables
if there is a file filePath then
open file filePath
read from file filePath until return
put it into cd fld "some field"
close file filePath
set the textStyle of character 1 to 10 of card field "some field" to bold
end if
end mouseDown

function replaceStr pattern,newStr,inStr
repeat while pattern is in inStr
put offset(pattern,inStr) into pos
put newStr into character pos to (pos +the length of pattern)-1 of inStr
end repeat
return inStr
end replaceStr

Referències[modifica | modifica el codi]

  1. Kyle Wheeler. «HyperTalk: The Language for the Rest of Us» (PDF) (en anglès), 18-01-2004. [Consulta: 06-05-2010].
  2. Paul F. Merrill. «Comparing HyperTalk to Pascal» (en anglès). [Consulta: 06-05-2010].

Enllaços externs[modifica | modifica el codi]