オンライン Rust コンパイラ – Rust コードを即座に実行・テスト

ブラウザで Rust コードを即座に書いて、コンパイルして、実行できる無料のオンライン Rust コンパイラです。セットアップやインストールは不要で、学習、テスト、プロトタイピングに最適です。

💡 初心者のためのRuby基本ガイド

1. 変数と定数の宣言

Rubyは動的型付けです。定数は大文字で始まり、変更されないことを意図しています。

x = 10
pi = 3.14
name = "Alice"
is_active = true

MAX_USERS = 100
APP_NAME = "CodeUtility"

2. 条件分岐 (if / case)

制御フローにはifelsifelse、またはcaseを使用します。

x = 2
if x == 1
  puts "One"
elsif x == 2
  puts "Two"
else
  puts "Other"
end

case x
when 1
  puts "One"
when 2
  puts "Two"
else
  puts "Other"
end

3. ループ

whileuntil、またはeachのようなイテレータを使用します。

i = 0
while i < 3
  puts i
  i += 1
end

[1, 2, 3].each do |n|
  puts n
end

4. 配列

配列は要素の順序付きリストを格納します。インデックスを使用してアクセスします。

fruits = ["apple", "banana", "cherry"]
puts fruits[0]
puts fruits.length

5. 配列操作

配列の操作にはpushpopslicereverseを使用します。

fruits.push("kiwi")
fruits.pop
puts fruits[1..2]
puts fruits.reverse

# 配列内包表記
squares = (1..5).map { |x| x * x }
puts squares

6. コンソール入出力

入力を読み取るにはgets.chompを、出力にはputs/printを使用します。

print "Enter your name: "
name = gets.chomp
puts "Hello, #{name}"

7. 関数

defを使用して関数を定義します。引数を渡したり、値を返したりできます。

def greet(name)
  "Hello, #{name}"
end

puts greet("Alice")

8. ハッシュ

ハッシュはキーと値のペアで、辞書やマップのようなものです。

person = { "name" => "Bob", "age" => 25 }
puts person["name"]

# シンボルキー
person = { name: "Alice", age: 30 }
puts person[:name]

9. 例外処理

begin-rescue-endを使用して例外をキャッチし、エラーを優雅に処理します。

begin
  raise "Something went wrong"
rescue => e
  puts e.message
end

10. ファイル入出力

FileメソッドやIOクラスを使用してファイルを読み書きします。

File.write("file.txt", "Hello File")
content = File.read("file.txt")
puts content

11. 文字列操作

Rubyの文字列は多くのメソッドをサポートしています:lengthgsubsplitなど。

text = " Hello World "
puts text.strip
puts text.upcase
puts text.gsub("Hello", "Hi")
puts text.split

12. クラスとオブジェクト

Rubyは完全なオブジェクト指向です。コンストラクタを定義するにはinitializeを使用します。

class Person
  def initialize(name)
    @name = name
  end

  def greet
    "Hi, I'm #{@name}"
  end
end

p = Person.new("Alice")
puts p.greet

13. 参照 (オブジェクトの変更)

すべての変数はオブジェクトへの参照を保持します。関数内でオブジェクトを変更すると、元のオブジェクトに影響します。

def modify(arr)
  arr << "changed"
end

data = ["original"]
modify(data)
puts data.inspect  # ["original", "changed"]