見出し画像

【RUBY】初級編CP2

rubyのアウトプット★

《ハッシュ》
ハッシュはキーと値のペアでまとめられる。どちらのコードでもOK。putsではなく、Pとするとシンボルと文字列がしっかり区別される。

fruits = {
 'apple' => 'リンゴ',
 'banana' => 'バナナ',
 'orange' => 'オレンジ',
}

fruits = {
 apple: 'リンゴ',
 banana: 'バナナ',
 orange: 'オレンジ',
}
fruits = {
 apple: 'リンゴ',
 banana: 'バナナ',
 orange: 'オレンジ',
}
fruits.each do |key, value|
 p key
 p value
end

putsではなく、Pとするシンボルと文字列が区別される。

:apple
"リンゴ"
:banana
"バナナ"
:orange
"オレンジ"

《シンボル》
概要
シンボルは文字列(string)と同じようで使い方が違う。データの通し番号をこちら側が設定するような用途。文字列リテラルのようにクォーテーションで囲む必要はない。

puts "Tarou".object_id
puts "Tarou".object_id
puts :Tarou.object_id
puts :Tarou.object_id
#の時、実行結果は以下の通り。
14227120
14227060
1029668
1029668

rubyの全てのデータは通し番号「オブジェクトID」を持っている。上二つは変数(リテラル).object_idで書いており、それぞれのオブジェクトIDを持っている。下二つはシンボルでコーディングしてあるのでIDが同じ。全く同じ名称のシンボルは常に同じオブジェクトIDとなる。

《理論値》
trueとfalseを理論値と呼ぶ。
《nil》
空(から)や値がないことを示す。

《演算子》
代入演算子…代入演算(=)を用いて行う。
代数演算子(四則計算と剰余)…代数演算子は四則計算と剰余(あまり)の演算を行う演算子のこと。 


+ (a + b)足し算
ー (a - b)引き算
* (a * b)掛け算
/  (a  / b)割り算
% (a % b)余り算

《文字列の足し算・数値と文字列の足し算》
str = 'あいう’ + 'えお'→strには’あいうえお’が代入される。
数値を文字列に変換するには、「数値.to_s」とする。sはstringsのs。

num1 = 1 + 2       # 3
num2 = 1 - 2       # -1
num3 = 2 * 5       # 10
num4 = 6 / 3       # 2
num5 = 5 % 2       # 1 (割った後の余り)
str = '数値は'
num = 123
puts str + num.to_s    # 数値は123 と出力される


《比較演算子》
比較演算子…2つの値を比較し、その結果を理論値(trueまたはfalse)で返す。


a == b 等しい場合はtrue、等しくない場合はfalseを返す。
a != b 等しくない場合(true)、等しい場合(false)
a < b、a>b 大きい場合、小さい場合
a <= b、a>=b 大きいか等しい場合、小さいか等しい場合
result = 1 < 2    # true
puts result
result = 1 == 2   # false
puts result

《論理演算子》
「条件A、且つ、条件B」、「条件A、または、条件B」など、上記で学んだ条件式を組み合わせたい場合には、論理演算子を使用。

条件A && 条件B…条件Aと条件Bがどちらもtrueならばtrueを返す。
条件A || 条件B…条件Aと条件Bのどちらかがtrueならばtrueを返す。
!条件A…条件Aがfalseならtrueを返す。

(1 == 1) && (2 == 2)    # true
(1 == 1) && (1 == 2)    # false
(1 == 2) || (2 == 2)    # true
(1 == 2) || (3 == 2)    # false
!(1 == 2)               # true
! false                 # true

#&&はand||or、!はnotと書き換えできる。
(1 == 1) and (2 == 2)    # true
(1 == 1) and (1 == 2)    # false
(1 == 2) or (2 == 2)     # true
(1 == 2) or (3 == 2)     # false
not(1 == 2)              # true
not false                # tru




この記事が参加している募集

#おうち時間を工夫で楽しく

95,466件

この記事が気に入ったらサポートをしてみませんか?