4
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?

SSONはSimple Stupid Object Notationの略でシンプルにオブジェクトを表現することを目的にした表記法です。

基本的な構文

SSONの基本的な構文を以下に示します。SSONでオブジェクトを作成するためには、オブジェクト名を書いた行を配置するだけです。一部の単語( alias, default, ., #)から始まる名前は禁止されていますが、それ以外は自由にオブジェクト名に使えます。 オブジェクトのプロパティを記述するためには、オブジェクト名の次の行に.` に続いてプロパティ名を配置します。プロパティが空であることを示すためにプロパティを省略します。

person
.name = john
.last name = doe
.age = 800

pet
.species = cat
.annoying = very

オブジェクト名やプロパティ名に空白を含めることはできますが、両端の空白は自動的に削除されます。そのため、以下のようなスタイルをとることもできます。

person
.name      = jane
.last name = doe
.age       = 25

person
.name =   bob
.age =    30
.job =    construction worker
.salary = 123467

  person
. name = bobby
. age  = 60
. job  = who knows?

SSONにはコメントもあり、 # から始まる行はコメントとして扱われます。行の途中にある # はコメント扱いにならない点に注意が必要です。

# this is a comment
my object
# this is also a comment
.some property = some value

my other object
.a property = # this is not a comment
# A comment between two properties!
.another property = Hello, World!

デフォルト値

オブジェクトにデフォルト値を持たせることもでき、これを使うことで重複する表記を省略できます。デフォルト値なので、オブジェクトを定義するときに上書きすることもできます。
また、デフォルト値を途中で変更することもできます。

default player
.health = 20
.armor = 0
.ammo = 5

# this player will have 20 health, 0 armor and 5 ammo
player
.x = 5
.y = 2

# this player won't have 0 armour because it overrides the property
player
.y = 1
.x = 0
.armor = 10

# it is also possible to change the default values midway
default player
.health = 10

# this player won't have 20 health, but it'll have 0 armor and 5 ammo
player
.x = 6
.y = 12

さらに他のデフォルト値を継承しつつ、デフォルト値の一部のプロパティを変更するためにaliasを使うこともできます。

default potion
.potency = 5
.price = 10
.name = Potion
.description = A basic remedy

# default poison objects will also inherit the default values of potion as defined above
alias poison potion
.name = Poison
.description = This one doesn't help you get better

4
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
4
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?