【Ruby】Ruby文法

エンコーディング表示

__ENCODING__

print(“endoding = “, __ENCODING__)

 

数値リテラル

123

-123

123456789    123_456_789   これもOK

 

n進数表記

2進 0b10101

8進 052

16進 0xa5

実数

小数点の表記 1.2

指数表記   12e-1

指数表記   0.12e+1

 

有理数(分数) !!!これははじめてみたな、、

1/3r      3分の1

 

複素数

42i     虚部が42

5+42i     実部が5 で虚部が42

 

文字数リテラル

シングルとダブルがあるが

ダブルクォーテーションだと、式展開と\tとか\nが使える。

 

式展開 #{xxxx}

中括弧の中身がrubyのコードとして実行される。

name=”ABC”

“My name is #{name}”

 

シンボル

:をつけた変数?

後ほど調べる。

 

ビット/シフト演算

Cと同じ

 

代入

a=1

a,b=1,2

 

多重代入

a,b,c=1,2

a -> 1

b -> 2

c -> nil

 

a,b = [1,2]    配列も可能

 

【注意】++、–はないので x+=1でやる。

 

条件文(if – elsif – else – end)

a = 2;

if a==1

        puts(“IF”)

elsif a==2

        puts(“ELSIF”)

else

        puts(“ELSE”)

end

swithcもどき

a = ARGV[0].to_i

case a

when 0

puts “0”

when 1

puts “1”

when 2, 3

puts “2か3”

else

puts “else”

end

 

繰り返し

a = ARGV[0].to_i

case a

    when 0

        puts “0”

    when 1

        puts “1”

    when 2

        puts “2”

    else

        puts “else”

end

i=1

while i<=10

        puts i

        i+=1

end

i=0;

while true

        i+=1;

        puts i

        if i>10

                break;

        end

end

i=0

while i < 10

        i+=1;

        if i % 2 == 0

                puts i;

                next;

        end

end

for obj in [“AAA”,”BBB”,”CCC”]

        puts obj;

end

for i in 0…10

        puts i;

end

[“A”,”B”,”C”].each do |str|

        puts str

end

 

 

 

 

 

 

 

 

Leave a Reply