「PIONEの式」の版間の差分

提供: Eospedia
移動: 案内検索
行1: 行1:
[[PIONE]]で使用する式のメソッド一覧を型ごとに示します。pione-valによる実行例を記載しています。[[PIONE定義書]]の条件などで使用するときは' '内のみを使用します。<br>
+
[[PIONE]]で使用する式のメソッド一覧を型ごとに示します。pione valによる実行例を記載しています。[[PIONE定義書]]の条件などで使用するときは' '内のみを使用します。<br>
 
<br>
 
<br>
  
 
== 真偽型(boolean) ==
 
== 真偽型(boolean) ==
 
<pre>
 
<pre>
$ pione-val 'true==true'
+
$ pione val 'true==true'
 
true
 
true
$ pione-val 'true!=true'
+
$ pione val 'true!=true'
 
false
 
false
$ pione-val 'true and false'
+
$ pione val 'true and false'
 
false
 
false
$ pione-val 'true or false'
+
$ pione val 'true or false'
 
true
 
true
$ pione-val 'true.not()'
+
$ pione val 'true.not()'
 
false
 
false
$ pione-val 'true.as_string()'
+
$ pione val 'true.as_string()'
 
true
 
true
$ pione-val 'true.as_integer()'
+
$ pione val 'true.as_integer()'
 
1
 
1
$ pione-val 'true.as_float()'
+
$ pione val 'true.as_float()'
 
1.0
 
1.0
$ pione-val 'true.as_boolean()'
+
$ pione val 'true.as_boolean()'
 
true
 
true
 
</pre>
 
</pre>
行27: 行27:
 
.as_string(), .as_integer(), .as_float()はそれぞれの型に変換するメソッドですが、以下のような簡易表記があります。以降は簡易表記で記述します。<br>
 
.as_string(), .as_integer(), .as_float()はそれぞれの型に変換するメソッドですが、以下のような簡易表記があります。以降は簡易表記で記述します。<br>
 
<pre>
 
<pre>
$ pione-val 'true.str()'
+
$ pione val 'true.str()'
 
true
 
true
$ pione-val 'true.i()'
+
$ pione val 'true.i()'
 
1
 
1
$ pione-val 'true.f()'
+
$ pione val 'true.f()'
 
1.0
 
1.0
 
</pre>
 
</pre>
行38: 行38:
 
== 文字列型(string) ==
 
== 文字列型(string) ==
 
<pre>
 
<pre>
$ pione-val '"abc"=="def"'
+
$ pione val '"abc"=="def"'
 
false
 
false
$ pione-val '"abc"!="def"'
+
$ pione val '"abc"!="def"'
 
true
 
true
$ pione-val '"abc"+"def"'
+
$ pione val '"abc"+"def"'
 
abcdef
 
abcdef
$ pione-val '"abc".count()'
+
$ pione val '"abc".count()'
 
3
 
3
$ pione-val '"abc".include?("ab")'
+
$ pione val '"abc".include?("ab")'
 
true
 
true
$ pione-val '"abc".include?("ac")'
+
$ pione val '"abc".include?("ac")'
 
false
 
false
$ pione-val '"abcdefg".substring(2,3)'
+
$ pione val '"abcdefg".substring(2,3)'
 
bcd
 
bcd
$ pione-val '"abc".str()'
+
$ pione val '"abc".str()'
 
abc
 
abc
$ pione-val '"12.3".i()'
+
$ pione val '"12.3".i()'
 
12
 
12
$ pione-val '"12.3".f()'
+
$ pione val '"12.3".f()'
 
12.3
 
12.3
 
</pre>
 
</pre>
行63: 行63:
 
== 整数型(integer) ==
 
== 整数型(integer) ==
 
<pre>
 
<pre>
$ pione-val '1==2'
+
$ pione val '1==2'
 
false
 
false
$ pione-val '1!=2'
+
$ pione val '1!=2'
 
true
 
true
$ pione-val '1>2'
+
$ pione val '1>2'
 
false
 
false
$ pione-val '1>=2'
+
$ pione val '1>=2'
 
false
 
false
$ pione-val '1<2'
+
$ pione val '1<2'
 
true
 
true
$ pione-val '1<=2'
+
$ pione val '1<=2'
 
true
 
true
$ pione-val '1+2'
+
$ pione val '1+2'
 
3
 
3
$ pione-val '1-2'
+
$ pione val '1-2'
 
-1
 
-1
$ pione-val '1*2'
+
$ pione val '1*2'
 
2
 
2
$ pione-val '11%2'
+
$ pione val '11%2'
 
1
 
1
$ pione-val '1/2'
+
$ pione val '1/2'
 
0
 
0
$ pione-val '1.next()'
+
$ pione val '1.next()'
 
2
 
2
$ pione-val '1.prev()'
+
$ pione val '1.prev()'
 
0
 
0
$ pione-val '1.even?()'
+
$ pione val '1.even?()'
 
false
 
false
$ pione-val '1.odd?()'
+
$ pione val '1.odd?()'
 
true
 
true
$ pione-val '123.str()'
+
$ pione val '123.str()'
 
123
 
123
$ pione-val '123.i()'
+
$ pione val '123.i()'
 
123
 
123
$ pione-val '123.f()'
+
$ pione val '123.f()'
 
123.0
 
123.0
 
</pre>
 
</pre>
行105: 行105:
 
基本的には整数型と同じです。(但し、next(), prev(), even?(), odd?()は無い)<br>
 
基本的には整数型と同じです。(但し、next(), prev(), even?(), odd?()は無い)<br>
 
<pre>
 
<pre>
$ pione-val '1.0==1.00'
+
$ pione val '1.0==1.00'
 
true
 
true
$ pione-val '10.0!=1.00'
+
$ pione val '10.0!=1.00'
 
true
 
true
$ pione-val '1.0>1.00'
+
$ pione val '1.0>1.00'
 
false
 
false
$ pione-val '1.0>=1.00'
+
$ pione val '1.0>=1.00'
 
true
 
true
$ pione-val '1.00<10.0'
+
$ pione val '1.00<10.0'
 
true
 
true
$ pione-val '1.00<=10.0'
+
$ pione val '1.00<=10.0'
 
true
 
true
$ pione-val '1.01+10.0'
+
$ pione val '1.01+10.0'
 
11.01
 
11.01
$ pione-val '1.01-10.0'
+
$ pione val '1.01-10.0'
 
-8.99
 
-8.99
$ pione-val '1.01*10.0'
+
$ pione val '1.01*10.0'
 
10.1
 
10.1
$ pione-val '1.01/10.0'
+
$ pione val '1.01/10.0'
 
0.101
 
0.101
$ pione-val '101.0%10.0'
+
$ pione val '101.0%10.0'
 
1.0
 
1.0
$ pione-val '12.3.str()'
+
$ pione val '12.3.str()'
 
12.3
 
12.3
$ pione-val '12.3.i()'
+
$ pione val '12.3.i()'
 
12
 
12
$ pione-val '12.3.f()'
+
$ pione val '12.3.f()'
 
12.3
 
12.3
 
</pre>
 
</pre>
行138: 行138:
 
整数型の演算を浮動小数点型で出力したいときには予め.f()または.as_float()で型変換を行います。<br>
 
整数型の演算を浮動小数点型で出力したいときには予め.f()または.as_float()で型変換を行います。<br>
 
<pre>
 
<pre>
$ pione-val '1.01/10'
+
$ 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)
 
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()'
+
$ pione val '1.01/10.f()'
 
0.101
 
0.101
 
</pre>
 
</pre>
行146: 行146:
  
 
== ルール表現型 ==
 
== ルール表現型 ==
pione-valには対応していないので、式の定義のみ示します。<br>
+
pione valには対応していないので、式の定義のみ示します。<br>
 
<pre>
 
<pre>
  
行153: 行153:
  
 
== データ表現型 ==
 
== データ表現型 ==
pione-valには対応していないので、式の定義のみ示します。<br>
+
pione valには対応していないので、式の定義のみ示します。<br>
 
<pre>
 
<pre>
  
行161: 行161:
 
== シーケンス ==
 
== シーケンス ==
 
<pre>
 
<pre>
$ pione-val '("a"|"b"|"c").length()'
+
$ pione val '("a"|"b"|"c").length()'
 
3
 
3
 +
</pre>
 +
<br>
 +
 +
== メソッドにおける注意事項 ==
 +
=== 四則演算における注意事項 ===
 +
現バージョンでの[[PIONE]]での四則演算は二項演算のみに対応しています。三項以上の場合は必ず括弧を使用して二項になるようにします。<br>
 +
<pre>
 +
 
</pre>
 
</pre>
 
<br>
 
<br>

2015年1月13日 (火) 01:53時点における版

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


メソッドにおける注意事項

四則演算における注意事項

現バージョンでのPIONEでの四則演算は二項演算のみに対応しています。三項以上の場合は必ず括弧を使用して二項になるようにします。