Core Function DotNet

From Sputnik Wiki
(Difference between revisions)
Jump to: navigation, search
(Example)
(Example)
Line 70: Line 70:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Example of using .NETs String
+
Example of using .NETs Point Class
 +
 
 +
<syntaxhighlight lang="sputnik">
 +
use("System.Drawing");
 +
 
 +
$a = %Point->new(2, 4);
 +
say($a->ToString());
 +
$a->$X = 77;
 +
$a->$Y = 20;
 +
say( "Value is: " . $a->$X );
 +
say( "Value is: " . $a->$Y );
 +
// Prints:
 +
// {X=2,Y=4}
 +
// Value is: 77
 +
// Value is: 20
 +
</syntaxhighlight>
 +
 
 +
Example of using .NETs Char[]
  
 
<syntaxhighlight lang="sputnik">
 
<syntaxhighlight lang="sputnik">
 
use("System");
 
use("System");
$str = %String->new("Hello"); // Sputnik will convert "" to char[] if needed
 
printf("Char 0 is: %s\n", $str[0]);
 
say("String value is " . $str);
 
say("StringLen value is " . $str->$Length);
 
$substr = $str->Substring(1);
 
say("String value (with substring(1)) is $substr");
 
// Prints
 
// Char 0 is: H
 
// String value is Hello
 
// StringLen value is 5
 
// String value (with substring(1)) is ello
 
  
// Lets try a different creation type
+
$chars = %Char[]->new(3);
$str = %String->new('T', 20);
+
$chars[0] = 'A';
say("String value is " . $str);
+
$chars[1] = 'B';
say("StringLen value is " . $str->$Length);
+
$chars[2] = 'C';
 +
printf("Char is: %s\n", $chars[0]);
 +
printf("Char is: %s\n", $chars[1]);
 +
printf("Char is: %s\n", $chars[2]);
 +
$str = %String->new($chars);
 +
printf("String: %s\n", $str);
 +
// Finally make a .NET String from the Char[]
 +
$a = %String->new($chars);
 +
printf("String value is %s\n", $a);
 +
printf("StringLen value is %d\n", $a->$Length);
 
// Prints
 
// Prints
// String value is TTTTTTTTTTTTTTTTTTTT
+
// Char is: A
// StringLen value is 20
+
// Char is: B
 +
// Char is: C
 +
// String: ABC
 +
// String value is ABC
 +
// StringLen value is 3
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
[[Category:Core Function]]
 
[[Category:Core Function]]

Revision as of 11:03, 18 September 2013

%Name

Description

Create/use .NET objects and call instance/static method and get/set properties.

Sputnik is made in C# and C# is a .NET language.

Sputnik keeps all the .NET stuff hidden away and out of view and provides its own functions and features for you to use.

However if you wish to use something from .NET Sputnik has a special operator that lets you do that.

You can use the % operator with an Identifier to specify the creation/use of a .NET class see the examples below.

Remarks

To use .NET stuff you must first define where the object in question can be found in .NET you do that using the use() function.

Then you can create the object using the % opeator.

Note - When you use strings it uses Sputnik escapes and not C#/.NET ones (Which is fine since Sputnik has them all anyway and a lot more).

Example

Example of using .NETs Console.WriteLine() function

use("System");
%Console->WriteLine("Hello World!");
// Prints: Hello World!

Example of using .NETs StringBuilder class

use("System");
use("System.Text");
//$sb = %StringBuilder->new(100); // We could pre-allocate
$sb = %StringBuilder->new();
$sb->Append("Cat");
$sb->Append("Dog");
 
%Console->WriteLine("StringBuilder Text: " . $sb);
%Console->WriteLine("StringBuilder Length: " . $sb->$Length);
// Prints:
// StringBuilder Text: CatDog
// StringBuilder Length: 6
 
// Now lets edit it
$sb[0] = 'P';
say("Character 0 = " . $sb[0]);
say("Character 3 = " . $sb[3]);
%Console->WriteLine("StringBuilder Text: " . $sb);
%Console->WriteLine("StringBuilder Length: " . $sb->$Length);
// Prints
// Character 0 = P
// Character 3 = D
// StringBuilder Text: PatDog
// StringBuilder Length: 6

Example of using .NETs Static Environment class

use("System");
$CurDir = %Environment->$CurrentDirectory;
echo "CurDir is: $CurDir\n";

Example of using .NETs Point Class

use("System.Drawing");
 
$a = %Point->new(2, 4);
say($a->ToString());
$a->$X = 77;
$a->$Y = 20;
say( "Value is: " . $a->$X );
say( "Value is: " . $a->$Y );
// Prints:
// {X=2,Y=4}
// Value is: 77
// Value is: 20

Example of using .NETs Char[]

use("System");
 
$chars = %Char[]->new(3);
$chars[0] = 'A';
$chars[1] = 'B';
$chars[2] = 'C';
printf("Char is: %s\n", $chars[0]);
printf("Char is: %s\n", $chars[1]);
printf("Char is: %s\n", $chars[2]);
$str = %String->new($chars);
printf("String: %s\n", $str);
// Finally make a .NET String from the Char[]
$a = %String->new($chars);
printf("String value is %s\n", $a);
printf("StringLen value is %d\n", $a->$Length);
// Prints
// Char is: A
// Char is: B
// Char is: C
// String: ABC
// String value is ABC
// StringLen value is 3
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox