10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rubyの基礎文法

Posted at

目次

今回は,Rubyの基本文法の

について説明する.

Rubyの基本文法を学ぼう

出力する

プログラム言語を学ぶ際に必ず通る道「Hello World」を表示してみよう.Rubyには出力だけで何種類もの方法があるようだ.代表的なものを列挙してみる.

表記方法 末尾に改行 表示形式
print 入れない 文字列
puts 入れる 文字列
p 入れる 型情報(文字列型,整数型)をそのまま

実行してみると...

print "Hello "
print "World "
#=> Hello World

puts 'Hello '
puts 'World ' 
#=> Hello 
#=> World

p 'Hello '
p 'World '
#=> "Hello "
#=> "World "

〜「p」について〜

「p」の後ろに文字列がくると「””」で囲まれて表示され,数字がくると何もつかずそのまま表示される.

つまり,表示するものがどのような種類のものかを見た目で分かるようにする機能がついているようだ.

p "99"
p 99
#=> "99" #文字列として表示
#=> 99  #数値として表示 

目次へ

入力する

出力と同様に複数の入力方法があるのでそれらを並べてみる.

表記方法 出力内容
gets() キーボードから(文字列)
gets.to_i() キーボードから(整数)
gets.to_f() キーボードから(浮動小数点)
ARGV[引数番号] コマンドラインの引数から

まず,キーボードからの入力について.

「gets」を使用すると基本的に文字列として受け取る.

必要に応じて型を指定する方法をとる.

gets.rb
str = gets()
num = gets.to_i()
p str
p num
$ ruby gets.rb
test     #自分の入力した文字
99      #自分の入力した文字
"test\n"   #出力
99      #出力

コマンドラインの引数を受け取る方法は以下の通り.

argv.rb
p ARGV[0]
$ ruby argv.rb test
"test"

目次へ

Method

関数などをRubyではmethodと呼ばれるもので定義する.

例えば,引数を受け取りその引数を表示するmethodは次のようになる.

method.rb
def hello(name)
    p name
end

これを使い,コマンドラインの引数を表示するには次のようにすれば良い.

method.rb
def hello(name)
    p name
end

name = ARGV[0]
hello(name)
$ ruby method.rb test
"test"

目次へ

ifなどの制御構造

条件分岐としてif-elsif-else-endが用意されている.

書き方は以下の通り.

if  [then]
   ...
[elsif  [then]
   ... ]
...
[else
   ... ]
end

目次へ

まとめ

今回はRubyの基本中の基本の文法をまとめた.

次回はこれらを使用し閏年の判別プログラムを書いてみる.

参考

以下のサイトを参考にした.


  • source ~/prog/github/grad_members_20f/members/miyanagi/post/ruby_grammer.org
10
1
1

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
10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?