LoginSignup
3
0

More than 1 year has passed since last update.

C#で書くものはRubyでこう書く

Last updated at Posted at 2021-01-12

注意

Rubyのやる気がなかったので更新停止。
次書く時は別の記事として投稿します。

標準入出力ストリーム

C#
// -----標準入力-----
// 値がひとつだけの場合
var single = Console.ReadLine();
// 複数ある場合
var multiple = Console.ReadLine().Split(",");

// -----標準出力-----
Console.Write("改行なし");
Console.WriteLine("改行あり");
Ruby
# -----標準入力-----
# 値がひとつだけの場合
single = gets
# 複数ある場合
multiple = gets.split(",")
# 空白のみの場合はこの書き方もできる
multiple = gets.split

# -----標準出力-----
print "改行なし"
puts  "改行あり"

ループ処理

for文

C#
for (var i = 0; i < 10; i++) {
    // 処理
}
Ruby
for i in 0..9
    # 処理
end

foreach文

C#
var array = new int[5] {1, 2, 3, 4, 5};     
foreach (var i in array) {
    // 処理
}
Ruby
array = (1..5)
array.each do |i|
    # 処理
end

While文

C#
while (true) {
    // 処理
}
Ruby
while true
    # 処理
end

インクリメント / succ

C#
int num = 1;
num++;  // 結果: 2
Ruby
num = 1
apt = "a"
letter = "z"

num.succ     # 結果: 2
apt.succ     # 結果: b
letter.succ  # 結果: aa

デクリメント / pred

C#
int num = 1;
num--;  // 結果: 0
Ruby
num = 1
num.pred     # 結果: 0

条件分岐

if文

C#
string input = Console.ReadLine();

if (input == "test1") 
{
    // 処理
}
else if (input == "test2") 
{
    // 処理
}
else
{
    // 処理
}
Ruby
input = gets.split

if    input == "test1"
    # 処理
elsif input == "test2"
    # 処理
else
    # 処理
end

Switch文

C#
string input = Console.ReadLine();

switch (input)
{
    case "Test1": 
        // 処理  
        break;

    case "Test2": 
        // 処理
        break;

    default:
        // 処理
        break;
}
Ruby
input = gets.split

case input

    when "Test1"
        # 処理

    when "Test2"
        # 処理

    else
        # 処理
end

三項演算子

変化なし

3
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0