リファレンス

ファイル・フォルダ操作

#ファイルが存在しなかったり、権限が無い場合は例外が発生する。 File#rename("変更前", "変更後") #ファイル名変更 #FileUtilsライブラリ #ファイルコピー、ファイル移動、ファイル削除はこのモジュールを読み込んで行う。 require "fileutils" FileUtils.…

IOクラス

#モード "r" 読み込み専用。デフォルト値 "r+" 読み込み/書き込み用 "w" 書き込み用。ファイルが存在しない場合は作成する。既存ファイルを指定した場合は上書きする。 "w+" 読み込み/書き込み用 "a" 追加書き込み。ファイルが存在しない場合は作成する。 "a…

独自ハッシュとデータ型判定サンプル

#独自ハッシュとデータ型判定サンプル class MyHash def initialize @inner_hash = Hash.new() end def []=(key,value) if key.is_a?(Integer) == true #データ型判定 @inner_hash[key] = value end end def [](key) return @inner_hash[key] end end obj = …

文字列操作

#ダブルコーテーションで括った文字列 ・特殊文字を表すことができる。 ・式展開を行うことができる。 str = '太郎' msg = "こんにちは、#{str}" #こんにちは、太郎 #文字列の長さを得る str = "こんにちは、Tarou" p str.size #17 p str.split(//s).size #1…

配列操作

配列だけでなく、HashやStringにも一部同様の操作がある。 Array#unshift(val): 先頭にvalを追加する。 Array#shift(): 先頭の値を取り出す。破壊的メソッド Array#first(): 先頭の値を参照する。 Array#push(val): 語尾にvalを追加する。 Array#pop(): 語尾…

モジュール

module HelloWorld Version = "1.0.0" #定数定義 def hello(name) return 'hello,' + name end module_function :hello #モジュール関数として外部に公開する end puts HelloWorld.hello('高砂')

ダック・タイピング

ダック・タイピング: 「アヒルのように歩きアヒルのように鳴くものはアヒルに違いない」という格言からきた言葉。 →インターフェースが同じなら、表すものが異なっていても同じものとして考える。

例外処理

#例外サンプル # 実行時引数にとったファイル名から、行数・単語数・文字数 を出力するプログラム ltotal = 0 #行数 wtotal = 0 #単語数 ctotal = 0 #文字数 begin if ARGV.size > 3 raise 'ファイル数が多すぎます。' #例外の発生 end ARGV.each{|file| inp…

クラス定義

#class sample class MessageMaker #アクセサ定義 # attr_reader :変数名 読み取り用 # attr_writer :変数名 書き込み用 # attr_accessor :変数名 読み書き両方 attr_reader :name, :jikoku #コンストラクタ def initialize(name, jikoku) @name = name #イ…

メソッド

def getAisatuMessage(namae, now_hour) if now_hour <= 3 return "深夜です、", namae, "さん" elsif now_hour <= 6 return "早朝です、", namae, "さん" elsif now_hour <= 12 return "午前中です、", namae, "さん" elsif now_hour <= 18 return "午後で…

制御構文

#if sample if x < 10 && x > 5 puts "xは10より小さく、5より大きい" elsif x % 2 == 0 puts "xは偶数" else puts "xはその他の数" end #each sample #eachメソッドにブロック({〜}部分)を渡して、その中に繰り返したい内容を記述する。 names = ["太郎", "…

変数

・ローカル変数 先頭がアルファベットの小文字か「_」で始まる ・グローバル変数 先頭が$で始まる ・インスタンス変数 先頭が@で始まる ※メンバ変数のことね ・クラス変数 先頭が@@で始まる ※静的メンバ変数のことね ・配列 array = ["太郎", "花子", "次郎"…