AR삽질러

Ruby 変数 본문

Ruby/Ruby-日本語

Ruby 変数

아랑팡팡 2023. 12. 13. 12:58
728x90

Ruby 変数

変数とは

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

 

変数の宣言と代入

 - 変数名 = 式

ex) x = 10

      name = "Arang"

 


 

変数名の命名規則

 - アルファベットの小文字、またはアンダースコアで始まる。

 - それに続けてアルファベット、数字、アンダースコアで記述する。

 

https://docs.ruby-lang.org/ja/latest/doc/spec=2flexical.html

 

字句構造 (Ruby 3.2 リファレンスマニュアル)

Rubyの現在の実装はASCIIキャラクタセットを用いています。アルファベットの大文字と小文字は区別されます。識別子と一部のリテラルの途中を除いては任意の場所に空白文字やコメントを置

docs.ruby-lang.org

 

基本規則

 - 変数名は英語(大文字、小文字)、数字、_で構成される

 - 変数名は数字で始まらない

 - 変数名は大文字、小文字を区分する

 ex) variable, Variable

 

Local Variables

 - 小文字た_で始まる

 ex) name, version_number, _temp

 

Instance Variables

 - @で始まる

 - この変数はObjectのインスタンスに属するしインスタンスで接近できる

 ex) @user, @account_number

 

Class Variables

 - @@で始まる

 - この変数はClass全体にわたって共有される

 ex) @@counter, @@class_name

 

Global Variables

 - & で始まる

 - この変数はプログラム全体で接近できる

 

Constans

 - 大文字で始まる

 - Constansは変更されない値を意味する

 ex) MAX_SIZE, MIN_AGE

 

Symbol

 - : 後に変数名を作成して生成する

 ex) :username, :password, :email

 

$ irb
irb(main):001> s = 'hello'
=> "hello"
irb(main):002> s
=> "hello"
irb(main):003> s = 'world!'
=> "world!"
irb(main):004> s
=> "world!"
irb(main):005> n = 10 * 2
=> 20
irb(main):006> n
=> 20
irb(main):007> irb
Multi-irb commands are deprecated and will be removed in IRB 2.0.0. Please use workspace commands instead.
If you have any use case for multi-irb, please leave a comment at https://github.com/ruby/irb/issues/653
irb#1(main):001>
irb#1(main):002> price = 100
=> 100
irb#1(main):003> price1 = 100
=> 100
irb#1(main):004> _price = 100
=> 100
irb#1(main):005> 1price = 100
C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/irb-1.10.1/lib/irb/workspace.rb:117:in `eval': (irb#1):5: syntax error, unexpected local variable or method, expecting end-of-input (SyntaxError)
1price = 100
 ^~~~~

irb#1(main):006> price_cost = 100
=> 100
irb#1(main):007> priceCost = 100
=> 100

 

 


 

良くない変数の使い方

 - エラーでは無いが、メンチナンス性が悪くなるため、推奨されない変数の使い方について

 

irb#1(main):019> x = 123
=> 123
irb#1(main):020> x = 'def'
=> "def"
irb#1(main):021> x = [1,2,3]
=> [1, 2, 3]
irb#1(main):022>
irb#1(main):023> i, j = 1, 2
=> [1, 2]
irb#1(main):024> i
=> 1
irb#1(main):025> j
=> 2
irb#1(main):026> a = b = 10
=> 10
irb#1(main):027> a
=> 10
irb#1(main):028> b
=> 10

 

 

予約語

BEGIN    class    ensure   nil      self     when
END      def      false    not      super    while
alias    defined? for      or       then     yield
and      do       if       redo     true     __LINE__
begin    else     in       rescue   undef    __FILE__
break    elsif    module   retry    unless   __ENCODING__
case     end      next     return   until

RubyではSnakeCaseを使うのが一般的です。

 ex) user_name, user_age 

 

門司構造

728x90
반응형
LIST

'Ruby > Ruby-日本語' 카테고리의 다른 글

Ruby 比較演算子  (0) 2023.12.13
Ruby 文字列  (0) 2023.12.13
Object指向プログラミング言語の概要  (0) 2023.12.13
Ruby 定数 ・ 数値  (0) 2023.12.13
Ruby Hello, Ruby!  (0) 2023.12.13