Releases: gkjpettet/roo
Version 3.0.2
New Features
- Added the
Nothing.to_numbergetter (always returns0)
Installation
The easiest way is to use Homebrew on the Mac or Scoop on Windows.
Downloads
macOS
Windows (64-bit)
Linux (x86 64-bit)
Linux (ARM 32-bit)
Version 3.0.1
Bug Fixes
- Can now set fields on native modules if the module implements the
RooNativeSettableinterface. - Various fixes to Roo's JSON parsing engine
- Local variables no longer shadow variables with the same name but a different case in an enclosing scope
New Features
- Added
HTTP.url_decode()andHTTP.url_encode()functions - Simplified error handling if you are embedding Roo in an existing Xojo app with the removal of four events from the
RooInterpreterclass and the addition of a newErrorOccurredevent
Full documentation is available at https://roolang.org.
Installation
The easiest way is to use Homebrew on the Mac or Scoop on Windows.
Downloads
Version 3.0.0
This is major new release. The interpreter has been completely rewritten from scratch. Roo is now entirely written in native Xojo code and requires no third party plugins. The language has not only changed significantly syntactically (indentation is now used instead of curly braces for block scoping, like Python) but many, many bugs have been fixed. Performance has been improved and new features have been added.
Full documentation is available at https://roolang.org.
Installation
The easiest way is to use Homebrew on the Mac or Scoop on Windows.
Downloads
Version 2.5.1
Improvements
- Greatly improved resilience of the parser. It will now correctly report syntax errors without getting stuck in an infinite loop of doom
- For classes that define a
to_textgetter to provide a text representation of the object - this is now honoured throughout the language (e.g: when concatenating with other objects)
Installation
The easiest way is to use Homebrew on the Mac or Scoop on Windows.
Downloads
Version 2.5.0
Improvements
- Semicolons are no longer required! You are free to continue to use them to separate multiple statements on the same line but your code will look prettier without them.
- Parentheses are now optional around the conditions of
ifconstructs andwhileloops 🎉. You can obviously use them to make your code easier to read if you wish. - Added a new
exitkeyword to allow breaking out ofifconstructs early - The scanner has been partially rewritten to be faster and more efficient
- The parser now handles more edge cases and panics less when things go wrong
- It's now possible to define the text representation used by the standard library
print()function for your own classes. Just created a class method calledto_textand return the text representation for your object - Added the
Hash.value(key)method which returns the value of the specifiedkey
Installation
The easiest way is to use Homebrew on the Mac or Scoop on Windows.
Downloads
Version 2.4.1
Improvements
Requestobjects now have a default HTTP method ofGET- Added the
Roo.NetworkingEnabledproperty which (ifFalse) will disable Roo's ability to access the network and raise aRoo.RuntimeErrorexception. It defaults toTrue - Added the
DateTime.long_monthgetter - Added the
DateTime.day_namegetter - Added the
DateTime.meridiemgetter - Added the
DateTime.short_monthgetter - Added the
DateTime.timegetter - Added the
DateTime.to_http_headergetter - Added the
DateTime.two_digit_hourgetter - Added the
DateTime.two_digit_minutegetter - Added the
DateTime.two_digit_secondgetter - Added the
Text.to_dategetter - It's now possible to store arbitrary data on an interpreter instance with the
Roo.Interpreter.Customdictionary property
Installation
The easiest way is to use Homebrew on the Mac or Scoop on Windows.
Downloads
Version 2.4.0
New Features
- HTTP networking support added! This release introduces two new data types (the
RequestandResponseobjects) and theHTTPmodule enabling Roo to now make HTTP requests - Added a new
JSONmodule for parsing JSON strings to Roo data structures and for converting RooHashobjects to JSON strings
Improvements
- Added
Text.to_dategetter - Added
DateTime.day_namegetter - Added
DateTime.long_monthgetter - Added
DateTime.short_monthgetter
Installation
The easiest way is to use Homebrew on the Mac or Scoop on Windows.
Downloads
Version 2.3.1
Bug fixes
File.flushnow returnsNothinglike it should- Fixed a crash that could occur in
File.append()
Changes
- Renamed
FileUtils.pwdtoFileUtils.cwd. Current working directory (cwd) feels more appropriate than pwd (print working directory).
Improvements
- Added
Text.define_utf8andText.define_utf8!getters - Added
FileUtils.cwd_pathgetter
Installation
The easiest way is to use Homebrew on the Mac or Scoop on Windows.
Downloads
Version 2.3.0
Improvements
- New
DateTimedata type. As the name suggests, this adds extensive support for working with dates and times. - New
FileUtilsmodule. This module provides the following getters and methods for manipulatingFileobjects:FileUtils.copy(source, destination, overwrite)FileUtils.delete(item)FileUtils.mkdir(path)FileUtils.move(source, destination, overwrite)FileUtils.pwd
- Added many more getters and methods to the
Filedata type
Installation
The easiest way is to use Homebrew on the Mac or Scoop on Windows.
Downloads
Version 2.2.0
Improvements
Require statement
Added a new require statement. This finally adds the capability for Roo to include the contents of other scripts in a running script:
require "path/to/file"; # .roo extension is optionalThe provided path can be relative to the script file or an absolute path.
Installation
The easiest way is to use Homebrew on the Mac or Scoop on Windows.