【#100DaysOfCode】 Day 2~4 「作りながら学ぶRuby入門」 C言語とRubyの対応
[#100DaysOfCode] の進捗。Twitterで呟いてたけど、ブログにもアウトプットしておく
Day 2
・「作りながら学ぶRuby入門」第2部 入門編
基本的文法の学習: Stringクラス、Numericクラス、Dateクラス、Arrayクラス
#「作りながら学ぶRuby入門」 Arrayクラス # 配列の要素を繰り返し処理 配列の配列 fruits_prices = [ ["apple",200], ["orange",100], ["melon",600] ] fruits_prices.each { |fp| puts "名前: #{fp[0]}、 値段:#{fp[1]}円" } sum = 0 fruits_prices.each {|fp| sum += fp[1]} puts "1個ずつ買うと全部で #{sum} 円です。" book_list = [ ["村上春樹",360], ["京極夏彦",600], ["ジョージ・オーウェル",1000] ] book_list.each { |bl| puts "著者: #{bl[0]}、 本の値段:#{bl[1]}円" } sum = 0 book_list.each {|bl| sum += bl[1]} puts "1冊ずつ買うと全部で #{sum} 円です。"
こちらのサイトのコードを書いて実験
www.geekpage.jp
www.geekpage.jp
Day 4
・「作りながら学ぶRuby入門」第3部 実践編
- 第7章: クラスの作り方。クラス--> インスタンス --> オブジェクトの関係
# 「作りながら学ぶRuby入門」 第7章 #アクセサメソッドを使って、属性のアクセスを簡単にする # Studentクラスを作る class Student # Studentクラスのインスタンスを初期化する def initialize( name, age ) @name = name @age = age end # name属性, age属性のアクセサ attr_accessor :name, :age # Studentクラスのインスタンスを文字列で返す def to_s "#@name, #@age" end end #Studentクラスのインスタンスを作成する shin = Student.new('久保秋 真', 45) #ゲッターを使ってshinの名前と年齢を表示する puts "氏名: #{shin.name}, 年齢: #{shin.age}歳" #セッターを使ってshinの名前と年齢を変更する shin.name = 'Singh, Tiger Jeet' shin.age = 445 # ゲッターを使ってshinの名前と年齢を表示する puts shin.name puts shin.age puts "氏名: #{shin.name}, 年齢: #{shin.age}歳"
C言語 | Ruby |
構造体の型宣言 | クラス |
メモリの確保 | インスタンスの初期化 -- インスタンスの作成 |
構造体のメンバへのアクセス | アクセサメソッド |
構造体の中身のデータを記述 | オブジェクトの作成 |
こんなイメージ。。
まあ初心者の考えたことなんで、詳しい方もし見てたら、修正など指摘どんどんください〜〜。
仕事でC言語からプログラミング入ったのは、無駄ではなかったと最近思う。
にしてもRuby便利だな〜〜。
- 文字列表現を返す方法
- アクセサで指定して.to_sで変換 のこれだけで済むなんて。。感動