• Modules
    • By category
    • By name
    • Most popular
    • Most downloaded
    • Repository
  • Register
  • Log in
  • Help
    • Start using Ceylon Herd
    • Publish your first module
    • Module publishing guidelines
    • All about Ceylon
    • Keyboard Shortcuts

    • s Focus search module bar
      ? Open this information panel
      j Move selection down
      k Move selection up
      enter Open current selection
Module info
Name
lukedegruchy / herd.chayote / 0.0.14
Ceylon Chayote - Various Utility Functions and Classes
Backends JVM JavaScript
Maven coordinates
Compatible Ceylon release JVM: 1.2.x, 1.3.x (latest)
JavaScript: 1.2.1, 1.2.2, 1.3.x (latest)
Published Apr 9, 2016
Stats Downloads (JVM): 384
Downloads (JS): 124
Source downloads: 456
Authors Luke deGruchy
License Apache Software License
Description

Various utility classes and methods for Ceylon. These are intended to all be written in native Ceylon, with no dependency on JDK-specific modules.

Format [[Integer]]s or [[com.vasileff.ceylon.integer64::Integer64]]s as either hex or bits Strings with padding and underscores to make them more readable.

   print(formatAndPadAsBits(30));

> <b>0001_1110</b>

   print(formatAndPadAsHex(500000);

> <b>0007_a120</b>

Determine whether an [[Integer] has too many (or too few in the case of negative) bits on a Ceylon platform (JVM or JS)

   print(isOverflowOnPlatform($0010_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000));

> <b>false</b> (JVM)

> <b>true</b> (JS)

Helper functions for equals() and hash:

   hashes(myObject.myInteger,myObject.myString);

> <b>1312847</b>

   equalsWith(myObject.myInteger,otherObject.myInteger);

> <b>true</b> or <b>false</b>

   equalsWithMultiple([myObject.myInteger,otherObject.myInteger],
                      [myObject.myString,otherObject.myString]);

> <b>true</b> or <b>false</b>

Functions to translate [[Integer]]s or [[com.vasileff.ceylon.integer64::Integer64]]s into Sequences of Bytes

   integerToBytes(941226);

> <b>[0, 0, 0, 0, 0, $1110.byte, $0101_1100.byte, $1010_1010.byte]</b>

   integerToBytesNoZeros(941226);

> <b>[$1110.byte, $0101_1100.byte, $1010_1010.byte]</b>

Convenience function: helpString() to help output class string attributes.

   helpString("Thing",  "Name"->"FirstThing", "Number"->1, "Optional"->null);

> <b>"Thing:{Name=FirstThing,Number=1,Optional=null}"</b>

Wrapper types for commonly used types to add unique typing. Example, in contexts where several Integer variables are used for different concepts such as AccountNumber, ReferenceNumber, etc

Examples:

  class AccountNumber(Integer baseValue) extends WrappedInteger(baseValue) {}
  class ReferenceNumber(Integer baseValue) extends WrappedInteger(baseValue) {}

  value accountNum1 = AccountNumber("1");
  value accountNum2 = AccountNumber("2");

  value refNum1 = ReferenceNumber("1");
  value refNum2 = ReferenceNumber("2");

  assertFalse(accountNum1.equals(accountNum2);
  assertFalse(accountNum1.equals(referenceNum1);
  assertFalse(referenceNum2.equals(accountNum2);
Dependencies
ceylon.buffer/1.2.2 shared
ceylon.collection/1.2.2
ceylon.language/1.2.2
com.vasileff.ceylon.integer64/1.0.2 shared
Usage
  • Import
 import herd.chayote "0.0.14";
Module links Members
Imported By
Home
Code repository
Issue tracker
Browse
Download .car
Download .js
Download source archive
Download module documentation
View API documentation

Ceylon Herd v1.24 Copyright 2012-2023 Red Hat. About