hotamul의 개발 이야기

[Ruby] Ruby irb 본문

Dev./Ruby

[Ruby] Ruby irb

hotamul 2022. 4. 28. 21:18

대화형 Ruby Shell (irb)

Ruby에는 입력한 구문을 바로 결과로 보여주는 프로그램이 포함 되어 있다.
irb (Interactive Ruby)를 시작하는 방법은 다음과 같다.

# mac, linux
irb

# Windows
Interactive Ruby

그럼 다음과 같은 구문을 터미널에서 볼 수 있다.

irb(main):001:0>

puts

irb 프롬프트에 "Hello World"라고 입력해 보자

irb(main)>:001:0> "Hello World"
=> "Hello World"

이게 "Hello World"를 출력하는 코드냐? 그것은 아니다.
그냥 단순히 입력한 코드를 보여준 것 뿐이다.
만약 "Hello World"를 출력하려면 puts를 사용하면 된다.

irb(main):002:0> puts "Hello World"
Hello World
=>nil

puts는 Ruby에서 출력할 때 사용하는 명령어이다. 그렇다면 nil은 무엇일까?
바로 우리가 입력한 Ruby 코드가 return 하는 값이다. puts 명령어는 언제나 nil을 반환한다.
Ruby에서 nilabsolutely-positively-noting 값이다.

Module

irb(main):004:0> 3*2
=> 6
irb(main):005:0> 3**2
=> 9
irb(main):005:0> Math.sqrt(9)
=> 3.0

Math는 수학 계산을 위한 내부 모듈이다. Ruby에서 모듈은 두 가지 역할을 한다. 위의 예는 이중 한 가지를 보여주고 있다. 즉 관련이 있는 여러 메서드를 하나의 이름으로 묶어두는 것이다. Math에는 sin(), tan()과 같은 메서드도 들어있다.

여기서 느낄 수 있는것은 Ruby는 동적 타입의 언어인 것만 같고 Python과 비슷한 느낌이 든다.

그럼 여기서 .의 역할은 무엇일까?
.은 메시지와 메시지를 받는 대상을 구분해 준다. 메시지가 무엇일까? 위 예제의 경우 메시지는 sqrt(9)이다.

irb(main):007:0> a = 3 ** 2
=> 9
irb(main):008:0> b = 4 ** 2
=> 16
irb(main):009:0> Math.sqrt(a+b)
=> 5.0

여기서 확실하게 알 수 있듯이 Ruby는 동적 타입 언어이다!!

 

나머지도 아래 출처에서 전부 진행해보자 나름 재밌다ㅎㅎ

 

출처 : Ruby in Twenty Minutes

'Dev. > Ruby' 카테고리의 다른 글

[Ruby] Ruby의 신기한 Class  (0) 2022.04.28
Comments