Return to Tech/ruby

Ctrl


制御構造

繰り返しや、条件判断といった言語の持つ制御構造についてのメモ

while
file:test_while.rb
                        
counter = 1
while counter <= 3
        puts("counter:#{counter}")
        counter += 1
end


実行例 $ ruby test_while.rb counter:1 counter:2 counter:3
for file:test_for.rb teams = ["alpha", "bravo", "charlie"] for team in teams puts("チーム名: #{team}") end
実行例 $ ruby test_for.rb チーム名: alpha チーム名: bravo チーム名: charlie
times #method file:test_times.rb counter = 1 3.times do puts("counter:#{counter}") counter += 1 end 実行例 $ ruby test_times.rb counter:1 counter:2 counter:3
loop #method file:test_loop.rb counter = 1 loop do puts("counter:#{counter}") counter += 1 if(counter == 4) break; end end 実行例 $ ruby test_loop.rb counter:1 counter:2 counter:3
each #method iterator file: test_each.rb nums = ["one", "two", "three", "four"] nums.each do |num| puts(num) end 実行例 $ ruby test_each.rb one two three four
if then else file:test_ifthenelse.rb str1 = ARGV[0] str2 = ARGV[1] if(str1 == str2) then puts("str1(#{str1}) eq str2(#{str2})") else puts("str1(#{str1}) neq str2(#{str2})") end 実行例 $ ruby test_ifthenelse.rb Ruby00 Ruby00 str1(Ruby00) eq str2(Ruby00) $ ruby test_ifthenelse.rb Ruby00 Ruby01 str1(Ruby00) neq str2(Ruby01)
case file:test_case.rb testcase = ["alpha", "bravo", "charlie", "delta"] testcase.each do |val| case val when "alpha" puts("Aチーム:#{val}です") when "bravo" puts("Bチーム:#{val}です") when "charlie" puts("Cチーム:#{val}です") else puts("不明なチーム:#{val}です") end end 実行例 $ ruby testcase.rb Aチーム:alphaです Bチーム:bravoです Cチーム:charlieです 不明なチーム:deltaです
comments コメントの記述方法 c言語のような 文の途中だけコメントする/* */はサポートしていません。 # 行頭から文末までをコメントとみなします。 puts("Ruby Comments") # これ以降文末までをコメントとみなします。 =begin 範囲指定のコメントの例 puts("Ruby Comments") # hogehoge =end
文字列 文字列の表示例 file:disp_strings.rb str = "TESTSTRING" print("Ruby 文字列表示例: #{str}\n") print('Ruby 文字列表示例: #{str}\n') print("\n") 実行例 ダブルコーテーション"で囲まれた文字列は 変数やエスケープシーケンスコードは通常通り解釈処理されます。 シングルコーテーション'で囲まれた文字列は 上記の解釈処理が行われず、記述内容そのものが表示されます。 $ ruby disp_strings.rb Ruby 文字列表示例: TESTSTRING Ruby 文字列表示例: #{str}\n
Hash file: test_hash.rb nums = {:a => "alpha", :b => "bravo", :c => "charlie"} nums.each do |key, value| puts(":#{key} #{value}" end puts(":a #{nums[:a]") 実行例 $ ruby test_hash.rb :a alpha :b bravo :c charlie :a alpha

Return to Tech/ruby