Closed5
Ruby に入門するぜ
Ruby とは?
まつもとゆきひろ(通称: Matz)により開発された、簡潔な文法が特徴的なオブジェクト指向スクリプト言語。 Perl が6月の誕生石 Pearl に由来することから、その次の7月の誕生石である Ruby から名付けられたらしい。
環境構築
ローカルを汚したくないので Docker で済ませる。
Dockerを使ってRubyの開発環境を構築してみました を参考に以下のようにした。
Dockerfile
FROM ruby:latest
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
WORKDIR /app
COPY Gemfile* /app/
RUN bundle install
ENV LANG=ja_JP.UTF-8
ENV TZ=Asia/Tokyo
docker-compose.yml
version: "3.7"
services:
app:
build: .
tty: true
ports:
- "3000:3000"
volumes:
- .:/app
VSCode 拡張機能
Ruby LSP - Visual Studio Marketplace
主に以下の機能があるらしい。
- Semantic highlighting
- Symbol search and code outline
- RuboCop errors and warnings (diagnostics)
- Format on save (with RuboCop or Syntax Tree)
- Format on type
- Debugging support
- Running and debugging tests through VS Code's UI
Ruby - Visual Studio Marketplace を紹介している記事もあったりするが、現在は非推奨となっている。
ローカルにインストールしたら以下のエラーが発生した。
Failed to activate none environment: The Ruby LSP requires Ruby 3.0 or newer to run. This project is using 2.6.10. See alternatives
確かにローカルの ruby version は 2.6.10 だ。 コンテナの中でインストールすればエラーは発生しなかったので一旦これでいく。
その他にも便利な拡張機能はいろいろあるだろうが一旦これだけにしておく。
20分ではじめるRuby
Ruby の基礎を学ぶ
メソッドの定義
def hi(name = "World")
puts "Hello #{name.capitalize}!"
end
クラスの定義
class Greeter
def initialize(name = "World")
@name = name
end
def say_hi
puts "Hi #{@name}!"
end
def say_bye
puts "Bye #{@name}, come back soon."
end
end
greeter = Greeter.new("Pat")
- デフォルトではインスタンス変数には外からアクセスできない
-
attr_accessor :name
を指定するとアクセスすることができるようになる
-
- クラスは定義後でも変更できる
その他
- irb という対話インターフェスがある
-
if __FILE__ == $0
でメインファイルとして実行されたときのみ動作するコードを書ける
Ruby on Rails の環境構築
docker-compose + Rails 7 + Postgres の環境構築 に全面的に従う。
他の記事もあるがバージョンが古かったり手順が明確でなかったりした。
できた
このスクラップは2024/04/07にクローズされました