「PIONEの式」の版間の差分
提供: Eospedia
(→浮動小数点型(float)) |
|||
| 行1: | 行1: | ||
| − | [[PIONE]]で使用する式のメソッド一覧を型ごとに示します。pione-valによる実行例を記載しています。<br> | + | [[PIONE]]で使用する式のメソッド一覧を型ごとに示します。pione-valによる実行例を記載しています。[[PIONE定義書]]の条件などで使用するときは' '内のみを使用します。<br> |
<br> | <br> | ||
2014年12月11日 (木) 00:38時点における版
PIONEで使用する式のメソッド一覧を型ごとに示します。pione-valによる実行例を記載しています。PIONE定義書の条件などで使用するときは' '内のみを使用します。
真偽型(boolean)
$ pione-val 'true==true' true $ pione-val 'true!=true' false $ pione-val 'true and false' false $ pione-val 'true or false' true $ pione-val 'true.not()' false $ pione-val 'true.as_string()' true $ pione-val 'true.as_integer()' 1 $ pione-val 'true.as_float()' 1.0 $ pione-val 'true.as_boolean()' true
.as_string(), .as_integer(), .as_float()はそれぞれの型に変換するメソッドですが、以下のような簡易表記があります。以降は簡易表記で記述します。
$ pione-val 'true.str()' true $ pione-val 'true.i()' 1 $ pione-val 'true.f()' 1.0
文字列型(string)
$ pione-val '"abc"=="def"'
false
$ pione-val '"abc"!="def"'
true
$ pione-val '"abc"+"def"'
abcdef
$ pione-val '"abc".count()'
3
$ pione-val '"abc".include?("ab")'
true
$ pione-val '"abc".include?("ac")'
false
$ pione-val '"abcdefg".substring(2,3)'
bcd
$ pione-val '"abc".str()'
abc
$ pione-val '"12.3".i()'
12
$ pione-val '"12.3".f()'
12.3
整数型(integer)
$ pione-val '1==2' false $ pione-val '1!=2' true $ pione-val '1>2' false $ pione-val '1>=2' false $ pione-val '1<2' true $ pione-val '1<=2' true $ pione-val '1+2' 3 $ pione-val '1-2' -1 $ pione-val '1*2' 2 $ pione-val '11%2' 1 $ pione-val '1/2' 0 $ pione-val '1.next()' 2 $ pione-val '1.prev()' 0 $ pione-val '1.even?()' false $ pione-val '1.odd?()' true $ pione-val '123.str()' 123 $ pione-val '123.i()' 123 $ pione-val '123.f()' 123.0
浮動小数点型(float)
基本的には整数型と同じです。(但し、next(), prev(), even?(), odd?()は無い)
$ pione-val '1.0==1.00' true $ pione-val '10.0!=1.00' true $ pione-val '1.0>1.00' false $ pione-val '1.0>=1.00' true $ pione-val '1.00<10.0' true $ pione-val '1.00<=10.0' true $ pione-val '1.01+10.0' 11.01 $ pione-val '1.01-10.0' -8.99 $ pione-val '1.01*10.0' 10.1 $ pione-val '1.01/10.0' 0.101 $ pione-val '101.0%10.0' 1.0 $ pione-val '12.3.str()' 12.3 $ pione-val '12.3.i()' 12 $ pione-val '12.3.f()' 12.3
整数型の演算を浮動小数点型で出力したいときには予め.f()または.as_float()で型変換を行います。
$ pione-val '1.01/10' fatal: PIONE method "/" is not found: #<Type integer>. #<Type float> [/pione/lib/pione/command/basic-command.rb:48:in `abort'] (2014-12-08T11:51:11.481+09:00, #8995) $ pione-val '1.01/10.f()' 0.101
ルール表現型
pione-valには対応していないので、式の定義のみ示します。
データ表現型
pione-valには対応していないので、式の定義のみ示します。
シーケンス
$ pione-val '("a"|"b"|"c").length()'
3