Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Squirrel (programming language)

From Wikipedia, the free encyclopedia
Computer programming language
This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages)
This articlemay be in need of reorganization to comply with Wikipedia'slayout guidelines. Please help byediting the article to make improvements to the overall structure.(March 2018) (Learn how and when to remove this message)
This article needs to beupdated. Please help update this article to reflect recent events or newly available information.(March 2018)
(Learn how and when to remove this message)
Squirrel
ParadigmMulti-paradigm:scripting,imperative,functional,object-oriented
Designed byAlberto Demichelis
First appearedSeptember 6, 2003; 21 years ago (2003-09-06)
Stable release
3.2[1] Edit this on Wikidata / 10 February 2022; 3 years ago (10 February 2022)
Typing disciplineDynamic
OSCross-platform
LicenseMIT license
Filename extensions.nut
Websitesquirrel-lang.orgEdit this at Wikidata
Influenced by
C++,JavaScript,Lua,Python
Influenced
MiniD

Squirrel is a high levelimperative,object-orientedprogramming language, designed to be alightweightscripting language that fits in the size, memory bandwidth, and real-time requirements of applications likevideo games.

MirthKit, a simple toolkit for making and distributing open source, cross-platform 2D games, uses Squirrel for its platform.[2] It is used extensively byCode::Blocks for scripting and was also used inFinal Fantasy Crystal Chronicles: My Life as a King.[3][4] It is also used inLeft 4 Dead 2,Portal 2 andThimbleweed Park for scripted events and inNewDark, an unofficialThief 2: The Metal Age engine update, to facilitate additional, simplified means of scripting mission events, aside of the regularC scripting.[5]

Language features

[edit]

Syntax

[edit]

Squirrel uses a C-like syntax, albeit inspired by that of Lua as well.

Factorial in Squirrel
localfunctionfactorial(x)// Getting function which is factorial, then getting value which is x{if(x<=1){// if x is less than 1return1;// then the code will just return 1}else{// if that doesn't workreturnx*factorial(x-1);// then the code will return x times factorial(x-1)}}
Generators
functionnot_a_random_number_generator(max){locallast=42;localIM=139968;localIA=3877;localIC=29573;for(;;){// loops foreveryield(max*(last=(last*IA+IC)%IM)/IM);}}localrandtor=not_a_random_number_generator(100);for(locali=0;i<10;i+=1)print(">"+resumerandtor+"\n");
Classes and inheritance
classBaseVector{constructor(...){if(vargv.len()>=3){x=vargv[0];y=vargv[1];z=vargv[2];}}x=0;y=0;z=0;}classVector3extendsBaseVector{function_add(other){if(otherinstanceof::Vector3)return::Vector3(x+other.x,y+other.y,z+other.z);elsethrow"wrong parameter";}functionPrint(){::print(x+","+y+","+z+"\n");}}localv0=Vector3(1,2,3)localv1=Vector3(11,12,13)localv2=v0+v1;v2.Print();

Applications

[edit]

Applications using Squirrel

[edit]

Games using Squirrel

[edit]

History

[edit]

The language was made public in 2003 under thezlib/libpng license.[22]In November 2010, the license was changed to theMIT license to enable the project to be hosted onGoogle Code.[23][24]It is developed and maintained by Alberto Demichelis.

See also

[edit]

References

[edit]
  1. ^"squirrel/HISTORY at master - albertodemichelis/squirrel - GitHub".
  2. ^MirthKit Developer WikiArchived 2014-02-11 at theWayback Machine
  3. ^abBrandon Boyer (21 February 2008)."Gamasutra - GDC 2008 Event Coverage".gamasutra.com.Gamasutra. Archived fromthe original on May 9, 2010.
  4. ^"Exclusive: Behind The Scenes of Final Fantasy's WiiWare Debut".gamasutra.com.Gamasutra. 23 June 2008. Archived fromthe original on November 10, 2010. Retrieved22 September 2011.
  5. ^"L4D2 Vscripts - Valve Developer Community".developer.valvesoftware.com. Retrieved2018-07-06.
  6. ^"Electric Imp programming guide".electricimp.com.
  7. ^abcdefgh"VScript".valvesoftware.com. 2014-08-20. Retrieved2015-01-17.
  8. ^"th155-decomp".GitHub. Retrieved2020-10-19.
  9. ^Gothic 2 Online
  10. ^"iv-multiplayer.com".www.iv-multiplayer.com. Archived fromthe original on 2012-06-07. Retrieved2018-07-06.
  11. ^"Liberty Unleashed". Retrieved2019-12-04.
  12. ^"m2-multiplayer.com".www.m2-multiplayer.com. Archived fromthe original on 2013-01-02. Retrieved2018-07-06.
  13. ^"undernightinbirth".GitHub. Retrieved2024-08-18.
  14. ^"AI:Main Page - OpenTTD".wiki.openttd.org. Retrieved2018-07-06.
  15. ^"Simutrans-Squirrel-API: Main Page".dwachs.github.io. Retrieved2018-07-06.
  16. ^"The VG Resource Wiki".wiki.vg-resource.com. Retrieved2021-09-04.
  17. ^"Thimbleweed Park Blog- Engine".blog.thimbleweedpark.com. Retrieved2018-07-06.
  18. ^"NewDark 1.25: Squirrel script?".ttlg.com. 2017-03-20. Retrieved2019-12-25.
  19. ^Vice City Multiplayer
  20. ^"Welcome To VC-MP website!". Archived fromthe original on 2006-04-05. Retrieved2014-05-04.
  21. ^"undernightinbirth".GitHub. Retrieved2024-08-18.
  22. ^"The Squirrel programming language".SourceForge. Retrieved2018-07-06.
  23. ^"Moving to code.google.com and MIT License - The Language - Squirrel - The Programming Language".forum.squirrel-lang.org. Retrieved2018-07-06.
  24. ^"Google Code Archive - Long-term storage for Google Code Project Hosting".code.google.com. Retrieved2018-07-06.

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Squirrel_(programming_language)&oldid=1292909810"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp