1
0

More than 5 years have passed since last update.

Ruby コメント、変数、定数、リテラル

Posted at

動作環境はMacとなります。
主に自分の勉強用メモとして残しています。

コメント

特定の処理を向こうにしたいときや、メモを残したい時にしようする。

comment.rb
# puts "Hello, World!" # 処理を向こうにしたいときは、プログラムの先頭に#をつける。改行までがコメント扱いとなる。
$ruby comment.rb 
$ #コメントアウトしているため出力されない。

複数行コメントアウトしたい場合

comment.rb
=begin
puts "Hello, World!"
puts "Hello, World!"
puts "Hello, World!"
=end
# =beginから=endの間の処理がコメントアウトされる
$ruby comment.rb 
$ #コメントアウトしているため出力されない。

実務上複数行に渡る場合でも、行頭に一行ごとに#をつけて実行されることが多い。

コメントを解除したい場合

commandキー+/キーで解除可能 ※複数行の場合、解除したい行をまとめて選択

メモとして残したい場合でも使用可能。

comment.rb
# This is a comment. 
$ruby comment.rb 
$ #コメントアウトしているため出力されない。

変数

扱うデータに名前をつけて、一時的に利用できるようにしたもの

変数名 = 式


name = "suzuki"
fruit = "apple"
x = 10


#変数sに Helloという文字列を代入
irb(main):001:0> s = "Hello!" 
=> "Hello!"
irb(main):002:0> puts s
Hello!
=> nil
#出力

#型の宣言は不要
irb(main):001:0> char s = "Hello!" 
irb(main):001:0> var s = "Hello!" 

数値の代入

irb(main):003:0> n = 2 * 10 #値20を変数nに代入
=> 20
irb(main):004:0> puts n  #変数nの出力
20 
=> nil

変数には何かしら代入しないといけない


#変数に何も値が入っていないとエラーになる。
irb(main):005:0> i
NameError: undefined local variable or method `i' for main:Object
    from (irb):5
    from /Users/toripurug884/.rbenv/versions/2.4.1/bin/irb:11:in `<main>'

#中身を入れて再出力
irb(main):006:0> i = nil
=> nil
irb(main):007:0> i
=> nil
#実行された!

変数名の命名規則

アルファベットの小文字かアンダースコアで始まる。
それに続けてアルファベット、数字、アンダースコアで記述する。

irb(main):014:0> price = 100
=> 100

#以下原則しないほうが良い命名規則

irb(main):015:0> price1 = 100  #数字をつける
=> 100

irb(main):016:0> _price = 100  #アンダースコアから始まる変数
=> 100

#数字から始まる変数名はエラーになる。

irb(main):017:0> 1price = 100
SyntaxError: (irb):17: syntax error, unexpected tIDENTIFIER, expecting end-of-input
1price = 100


#2語以上になる場合は原則_で繋げる。
#キャメルケース(単語と単語の間の文字を大文字にする)は原則使わない。

irb(main):018:0> price_cost = 100
=> 100
irb(main):019:0> priceCost = 100
=> 100
irb(main):020:0> 

よくない変数の使い方

エラーではないが、メンテナンス性が悪くなるので推奨されない変数の使い方

同じ変数に違う型を代入

irb(main):022:0> x = "abc" #文字列を代入
=> "abc"
irb(main):023:0> x = 123 #数字を代入
=> 123
irb(main):024:0> x = "def" #文字列を代入
=> "def"
irb(main):025:0> x = [1,2,3] #配列を代入
=> [1, 2, 3]

#同じ値を入れてしまうとわかりにくくなる

複数の変数に代入

irb(main):026:0> x,y = 1,2
=> [1, 2]
irb(main):027:0> x
=> 1
irb(main):028:0> y
=> 2

#あまりメリットがない。
irb(main):029:0> a = b = 10
=> 10
irb(main):030:0> a
=> 10
irb(main):031:0> b
=> 10

#あえて使う必要はない

定数

あまり変化しない値を扱う時に使う
例)消費税、円周率、手数料など

定数は原則全て大文字


irb(main):032:0> TAX = 1.08 #定数TAXに値を代入
=> 1.08
irb(main):036:0> puts TAX
1.08
=> nil

irb(main):037:0> TAX_RATE = 1.08 #2語以上の定数の場合単語は_で繋ぐ
=> 1.08
irb(main):038:0> puts TAX_RATE
1.08
=> nil

コードのメンテナンスを保つため、定数には再代入は原則しない。

irb(main):039:0> TAX_RATE = 1.1 #一度定義した定数に再代入


#警告が出るが、再代入されてしまうので注意
(irb):39: warning: already initialized constant TAX_RATE
(irb):37: warning: previous definition of TAX_RATE was here
=> 1.1
#再代入後の値が出力される
irb(main):040:0> puts TAX_RATE 
1.1
=> nil

リテラルとは

数値の123や文字列の"Hello! World"など
Rubyのプログラムの中に直接記述できる値

ソースコードに書いたもの

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0