0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

新言語シールド言語の応用

Last updated at Posted at 2020-01-13

_nothing()メソッドとは。

exp.shie
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) #特殊な方法で別名
ex.shie

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)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?