【講座?】CoRを触ってみる12~演算子編~【自分用メモ?】
      投稿者:
 光楼(114)
     投稿日:2017/04/01 14:54
    
      【講座?】CoRを触ってみる11~多次元配列編~【自分用メモ?】←前回
前回の答え
実はdebug_logで答えが分かる。
#このブログの情報は2017年4月1日現在のものです。今後変更になる可能性があります。
演算子とは
演算するための記号。
もっと簡単に言うと計算や比較するときに使う記号です。
+とか、==とか。
さて、演算子にも種類があります。
1つ1つ見ていきましょー!
あ、先に言っておきますがa++とかa--とかは2017/11/04現在使えませんのでご注意ください。
算術演算子
ここからだってのに、演算子がゲシュタルト崩壊を始めた……。
算術演算子は足し算等、四則演算をする演算子です。
Rmakeで使えたものは全て使えるので、新たに使えるようになったものだけ紹介します。
ただし、ドキュメントに書かれてないのもあるので注意です。
代数演算子
文字列演算子
算術演算子という分類で良いのだろうか?
文字列に対して使う演算子です。
なお変数に変化を与えるものもあるので注意です。
代入演算子
=等、代入する演算子
関係演算子
2つの値の比較を行う演算子。
条件とあっていればtrueが返る。
論理演算子
論理演算を行うための演算子。
ビット演算子
ビット演算を行うための演算子。
ビット演算についての知識がないと扱うのは難しい。
三項演算子
if文をスリムに書ける。
配列演算子
配列をあれこれする。
色々と使えなくなる可能性大ですが、Rmakeに比べて圧倒的に多くなりましたね。
有効的に使っていきましょう。
本日は以上!疲れた!
次回→【講座?】CoRを触ってみる13~三目並べを作る1~【自分用メモ?】
    
    ツイート
    
    前回の答え
scene 'start' do #シーンstart
  arr = [
    [0, 1, 2, 3],
    [10, nil, nil, 13],
    [20,
      [21, 21.1, 21.2],
      22
  ]]
end
start_scene "start"
実はdebug_logで答えが分かる。
#このブログの情報は2017年4月1日現在のものです。今後変更になる可能性があります。
演算子とは
演算するための記号。
もっと簡単に言うと計算や比較するときに使う記号です。
+とか、==とか。
さて、演算子にも種類があります。
1つ1つ見ていきましょー!
あ、先に言っておきますがa++とかa--とかは2017/11/04現在使えませんのでご注意ください。
算術演算子
ここからだってのに、演算子がゲシュタルト崩壊を始めた……。
算術演算子は足し算等、四則演算をする演算子です。
Rmakeで使えたものは全て使えるので、新たに使えるようになったものだけ紹介します。
ただし、ドキュメントに書かれてないのもあるので注意です。
代数演算子
| 演算子 | 意味 | 備考 | 
|---|---|---|
| a ** b | aのb乗 | 
文字列演算子
算術演算子という分類で良いのだろうか?
文字列に対して使う演算子です。
なお変数に変化を与えるものもあるので注意です。
| 演算子 | 意味 | 備考 | 
|---|---|---|
| a << b | aにbを連結します | a自体が変更されます | 
| a * b | aをb回繰り返します | aが「あ」,bが「3」なら「あああ」 | 
| 以下フォーマット関連 | 使えなくなる可能性がでかい | |
| "%d" % a | aを整数にする | aは数値。小数点を切り捨てる。シングルクォーテーションでも可 | 
| "%b" % a | aを2進数にする | |
| "%o" % a | aを8進数にする | |
| "%x" % a | aを16進数にする | |
| "%f" % a | aを実数(小数点6桁くらいまで)にする | |
| "%e" % a | aを指数表記にします | 結果が「1.100000e+02」だと、1.1 × (10の2乗) | 
| "%g" % a | aを最適な形式に変えます | 小数点を四捨五入したり指数表記したりを自動で判断 | 
| "%5.3f" % a | 桁数の指定 | %とアルファベットの間に「全体の最小の幅.小数点以下の最大の幅」という形で桁数の指定が出来る | 
| "%010.2f" % a | ゼロ埋め | 桁数指定前に0を一つ書くだけ | 
| "%-10.2f" % a | 左詰め | 桁数指定前にマイナスを付け加えるだけ | 
| "%+10.2f" % a | 符号表示 | 桁数指定前にプラスを書くと符号を出してくれる | 
代入演算子
=等、代入する演算子
| 演算子 | 意味 | 備考 | 
|---|---|---|
| a += b | a = a + b | |
| a -= b | a = a - b | |
| a *= b | a = a * b | |
| a /= b | a = a / b | |
| a %= b | a = a % b | |
| a **= b | a = a ** b | 累乗 | 
| a &= b | a = a & b | ビット演算子。後程説明 | 
a |= b  | a = a | b  | |
| a ^= b | a = a ^ b | |
| a <<= b | a = a << b | |
| a >>= b | a = a >> b | |
| a &&= b | a && (a = b) | 変数の中身が存在する場合のみ代入するとき等に使うと良い? | 
a ||= b  | a || (a = b)  | 変数の中身が存在しない場合(nilの時)のみ代入するとき等に使うと良い? | 
関係演算子
2つの値の比較を行う演算子。
条件とあっていればtrueが返る。
| 演算子 | 意味 | 備考 | 
|---|---|---|
| a <=> b | 「a < b」なら「-1」、「a == b」ならば「0」、「a > b」なら「1」、比較できない時は「nil」を返す | |
| a === b | aとbが等しいか | case文のマッチングと同じ仕組みの比較を行う | 
| (1..5) === a | aが1~5の範囲内か | 小数指定可能 | 
| ('a'..'z') === a | aがa~zの範囲内か | このように文字も可。ひらがなもOK | 
| String === a | aが文字列か | 
論理演算子
論理演算を行うための演算子。
| 演算子 | 意味 | 備考 | 
|---|---|---|
| not a | !a  | !  | 
| a and b | a && b | &&より優先度低い | 
| a or b | a || b  | ||  | 
ビット演算子
ビット演算を行うための演算子。
ビット演算についての知識がないと扱うのは難しい。
| 演算子 | 意味 | 備考 | 
|---|---|---|
| ~a | ビットを反転 | |
| a & b | ビット積(どちらも1の時1) | a = 3 #3 => 011
b = 5 #5 => 101
debug_log "#{a & b}" #1 => 001 | 
a | b  | ビット和(どちらかが1の時1) | a = 3 #3 => 011
b = 5 #5 => 101
debug_log "#{a | b}" #7 => 111 | 
| a ^ b | 排他的論理和(どちらかが1の時のみ1) | |
| a << b | aをbビット左シフト | |
| a >> b | aをbビット右シフト | 
三項演算子
if文をスリムに書ける。
| 演算子 | 意味 | 備考 | 
|---|---|---|
| a ? b : c | 条件 ? 式1 : 式2 | if 条件 式1 else 式2 end a = true
text = a ? "はい" : "いいえ"
debug_log "#{text}" #はい | 
配列演算子
配列をあれこれする。
| 演算子 | 意味 | 備考 | 
|---|---|---|
| arr1 + arr2 | 配列の結合 | arr1 = [1,2,3,4,5,6,7,8]
arr2 = [1,5,6]
arr3 = arr1 + arr2
debug_log "#{arr3}" #[1, 2, 3, 4, 5, 6, 7, 8, 1, 5, 6] | 
| arr1 - arr2 | 配列arr1から要素arr2を取り除く | arr1 = [1,2,3,4,5,6,7,8]
arr2 = [1,5,6]
arr3 = arr1 - arr2
debug_log "#{arr3}" #[2, 3, 4, 7, 8] | 
| arr1 * n | 配列arr1の要素をn回繰り返す | arr1 = [1,2,3]
n = 3
arr3 = arr1 * n
debug_log "#{arr3}" #[1, 2, 3, 1, 2, 3, 1, 2, 3] | 
| arr1 & arr2 | 2つの配列に共通する要素で配列を作る | arr1 = [1,2,3]
arr2 = [1,3,5]
arr3 = arr1 & arr2
debug_log "#{arr3}" #[1, 3] | 
arr1 | arr2  | 上記に加え、片方にしか含まれない要素も追加して配列を作る | arr1 = [1,2,3]
arr2 = [1,3,5]
arr3 = arr1 | arr2
debug_log "#{arr3}" #[1, 2, 3, 5] | 
| arr1 << a | 配列arr1に要素aを追加した配列を作る | |
| arr1[n..m] | 配列arr1のn~mの要素からなる配列を作る | arr1 = [1,2,3,4,5,6,7,8]
n = 1
m = 5
arr3 = arr1[n..m]
debug_log "#{arr3}" #[2, 3, 4, 5, 6] | 
| arr1[n, len] | 配列arr1のn番目からlen個の要素で配列を作る | arr1 = [1,2,3,4,5,6,7,8]
n = 1
len = 3
arr3 = arr1[n, len]
debug_log "#{arr3}" #[2, 3, 4] | 
| arr1[n..m] = a | 配列arr1のnからm番目の要素をaに置き換え統合 | arr1 = [1,2,3,4,5,6,7,8]
n = 1
m = 4
a = 5
arr1[n..m] = a
debug_log "#{arr1}" #[1, 5, 6, 7, 8] | 
| arr1[n, len] = a | 配列arr1のnからlen個の要素をaに置き換え統合 | arr1 = [1,2,3,4,5,6,7,8]
n = 1
len = 3
a = 11
arr1[n, len] = a
debug_log "#{arr1}" #[1, 11, 5, 6, 7, 8] | 
色々と使えなくなる可能性大ですが、Rmakeに比べて圧倒的に多くなりましたね。
有効的に使っていきましょう。
本日は以上!疲れた!
次回→【講座?】CoRを触ってみる13~三目並べを作る1~【自分用メモ?】
コメントする
コメントするには、ログインする必要があります。
 
こういうドキュメントが
かなり大事だったりします