_nothing()メソッドとは。
text = ""
if(text): #False
text = "存在します"
else:
text = "ヌルです"
output(text) #->ヌルです。
_Nothing()メソッドは特定の値の条件の時if式及びif構文及びfor式及びfor構文でFalseを返すように命令する関数です。組み込み型だとint(0),float(0.0),str(""),list([])tupple(()),dict(Dict<>{})等があります。中身が存在しないときに調べるのに便利です。
以下の場合はTrueを返します。
0 is _Nothing()
ただし、以下の場合Falseを返します。
0 is Null
あくまで中身が存在してるか調べる関数です。
なお_nothing()メソッドが存在しない場合はNull又はNone以外のものは全てTrueを返します。例外はありません。
最後にこのメソッドはpubを設定しておくこと(なければprivateになるから注意。protectでも×)。
_fin()メソッドとは
ファイナライザ(ディストラクタ)と呼ばれています。これを使うことで、特定のインスタンスを破棄したときに特定の命令(音楽変更等)をしやすくする効果があります。覚えていて損はありません。GCがあるので基本は使わなくていいです。必ずpubに設定しておくこと。
覚えておくと便利
varキーワードは値が変更できることを示します無ければ初期値の代入記号(=)で判別します。
constキーワードは値が変更できないことを示します無ければ初期値の代入記号(:=)で判別します。
anyキーワードは型も値も変更できることを示します無ければ初期値の代入記号(;=)で判別します。
defキーワードはプロシージャ―またはメソッドであることを表します。
extremeキーワードは自分より下にあるプロシージャ―またはクラスまたは静的メソッドを参照するときに使います。
バージョン0.1より
可読性の為書き方が変わりました(パスカル式に変更)
ラベル付けに##が使えるようになりました。
from yyy import where xxx select ref zzz を追加これにより特定のパッケージを生成可能ref分以降がなく*になっている場合は省略可能。
明示的にconstやanyを記述すれば(=)で代入や束縛ができるようにしました。
from XXX delegate YYYでXXXと書けばYYY関数が呼ばれるようにしました。
Unit型(None,Null兼用)が追加されました。
ex1/from hogehoge.HugaHuga.Gito_Gito delegate Gito #普通に別名
ex2/from hogehoge.HugaHuga.Gito_Gito(var x,var y) delegate Gito(var x,2) #特殊な方法で別名
var name0:opt int #<-変数 name0はオプション付きのint(型)です
var name1:str #<-変数 name1はstr(型)です
from Kout import where *&std&* select ref vak #Koutモジュールから*std*を選んでそれをvakにパッケージングする。
pub var name2:int $ set(val) get del #<-公開変数 name2 はint(型)でセッター,ゲッター,デリーターを保持しています
def forsum(var name:int,const mmk:int):(int):
return name+= ##bre from(i in range(mmk)) where * with($1(i is not _Nothing() and (name)) $2*)select($1 name $2 break##bre)