Ruby簡潔学習ノート(一):文字列、数字、クラス、オブジェクト

2063 ワード

Rubyが本当に使いやすいことを証明するために、hello worldもこんなに簡潔に書くことができます.
 
  
puts 'hello world'

1.入出力
 
  
print('Enter your name')
name=gets()
puts("Hello #{name}")

注:ルビーは大文字と小文字を区別しています
2.Stringクラス
puts(「Hello#{name}」)の変数nameはString全体に埋め込まれ、#{}ラップで埋め込まれて値を求め、二重引用符「」でラップされます(単一引用符だけでは文字値が返されます).変数だけでなく、「t」や算数式を埋め込むこともできます.
 
  
puts "Hello #{showname}"
puts( "
\t#{(1+2) * 3}
Goodbye" )

3.if......then文
 
  
taxrate = 0.175
print "Enter price (ex tax): "
s = gets
subtotal = s.to_f
if (subtotal < 0.0) then
    subtotal = 0.0
end
tax = subtotal * taxrate
puts "Tax on $#{subtotal} is $#{tax}, so grand total is $#{subtotal+tax}"

1.各ifはendに対応する必要があり、thenはifと同じ行にない限り、オプションである.2.to_f()メソッドは、値が浮動小数点数のStringに対して浮動小数点数自体を返し、変換できない者に対して0.0を返す
4.val、$val、@valの違い
valはローカル変数、$valはグローバル変数、@valはインスタンス変数
インスタンス変数はメンバー変数に相当します
5.classを定義する方法
2つのコードを見て
 
  
class Dog  
    def set_name( aName )
        @myname = aName
    end
  
    def get_name
         return @myname
    end
   
    def talk
        return 'woof!'
    end
end
 
  
class Treasure
      def initialize( aName, aDescription )
        @name         = aName
        @description  = aDescription
      end
     
      def to_s # override default to_s method
           "The #{@name} Treasure is #{@description}
"
      end
end

1.メンバー変数は@で表示する必要がある.無参法は()3を加えなくてもよい.各クラスはendで終了する.デフォルトでは、パラメータ付きinitialize()を書き換えるか、パラメータ付きinitialize()を書き換えることができます.