728x90

ruby 2

루비의 상속구조

루비도 잘 알려진 객체지향 언어이다. 사실 최근에는 루비 온 레일즈라는 프레임워크를 아는 사람은 있어도, 이게 루비라는 언어로 이루어져 있다는 걸 모르는 사람도 보았다 😂 뭐 여튼 루비도 나름의 루비만의 장점이 있다. 서론은 뒤로 하고, 오늘은 루비가 어떻게 상속구조를 이루고 있는지 적어보려고 한다. 일단 보통언어와 비슷하게 루비도 아래와 같은 코드로 상속구조 표현이 가능하다. class Bird def speak puts "tweet" end end class Duck < Bird def speak puts "quack" end end duck = Duck.new duck.speak 위와 같이 적고 실행하게 되면 아래와 같은 결과가 나온다. "quack" 당연해 보인다. Duck 안에 speak 가 있..

Ruby 2021.09.28

Ruby Block, Proc, Lambda

Block? Ruby 에는 Block method 라는 것이 존재한다. 다른 언어로 치면 익명함수와 비슷한 존재이다. 함수의 몸체 그 자체이다. Block 메소드에 넘겨줘야 할 Argument 는 Pipe(|) 로 적어주고 실행될 몸체는 아래와 같이 적어준다. [1, 2, 3].each { |num| puts num } yield? 루비에는 yield method 가 있는데 이는 block method 를 호출하는 코드이다. 아래의 예시를 보자. def hello_block? yield end hello_block? { puts "Hello Block!" } & expression 특히 Ruby 에서는 & 을 쓸때 block 을 넘겨주어야 한다. 아래의 예시를 보자. def hello_empresand?..

Ruby 2021.09.20
728x90