루비 20 분 체험
5193 단어 Ruby
설치: 세 가지 방식: 소스 코드;rubyinstaller.exe;ruby.exe
실행: cmd - > irb
-------------------------
간단 한 예제:
1、
>puts “Hello World”
Hello World
=>nil //nil 은 Ruby 의 빈 값 입 니 다. puts 명령 은 nil 로 돌아 갑 니 다.
2、
>3*2
=>6
>Math.sqrt(9) //Math 는 자체 데이터 모듈 입 니 다. 모듈: 기능 이 같은 함수 가 같은 이름 아래 에 있 습 니 다.
=>3.0
>a = 3**2 //**차방변수 a 에 값 을 부여 합 니 다.
=>9
3、
정의 함수
>def h //정의 함수
>puts "Hello World"
>end //함수 끝
=>nil
함 수 를 호출 하여 h 또는 h () 를 직접 입력 합 니 다.
------------
>def h(name) //인삼 을 첨가 하 다
>puts "Hello #{name}!"
>end
------------
>def h(name = "defaultName") //기본 값 추가
>puts "Hello #{name.capitalize}!" //입력 한 문자열 값 과 이니셜 대문자 사용 하기
>end
호출: h "World" 또는: h
------------
4、
정의 클래스
class Greeter
def initialize(name = "World")
@name = name //@name 은 인 스 턴 스 변수 입 니 다.
end
def say_hi
puts "Hello #{@name}!"
end
def say_bye
puts "Bye #{@name}!come back soon!"
def
end
사용 클래스:
>Greeter.new("Pat")
=>#
>g.say_hi
--------
>g.name //compile error 대상, 속성 숨 기기
--------
>Greeter.instance_methods / / 모든 방법 을 인쇄 합 니 다. 부모 클래스 를 계승 하 는 경우 가 많 습 니 다. 계승 클래스 를 원 하지 않 는 다 면 인쇄 합 니 다.
>Greeter.instance_methods(false)
--------
respond_to 는 내 장 된 함수 로 대상 이 지정 한 방법 에 반응 하 는 지 테스트 하 는 데 사 용 됩 니 다.
>g.respond_to?("name") / / 없 음
=>false
>g.respond_to?("say_hi")
=>true
>g.respond_to?("to_s") //to_s 는 내장 함수
=>true
--------
인쇄 및 클래스 변경, ruby 는 속성 명 을 가 져 올 수 있 습 니 다.
>class Greeter //클래스 열기
> attr_accessor :name //attr 통과 하기accessor 는 속성 을 바 꿉 니 다. 두 가지 방법 을 도입 합 니 다. name (변 수 를 읽 습 니 다. //의 값name = 방법 (변수 에 값 부여)
>end
>g = Greeter.new("kity")
>g.respond_to?("name")
=>true
>g.respond_to?("name=")
=>true
>g.name="kity2"
>g.say_hi
=>Hello kity2!
------------------------
큰 라운드 코드...
#!/usr/bin/env ruby
class MegaGreeter
attr_accessor : names
# Create the object
def initialize(names = "World")
@name = names
end
# Say hi to everybody
def say_hi
if @names.nil?
puts "....."
elsif @names.repond_to?("each")
# @names is a list of some kind,iterate!
@names.each do |name|
puts "Hello #{name}!"
end
else
puts "Hello #{@names}!"
end
end
# Say bye to everybody
def say_bye
if @names.nil?
puts "......"
elsif @names.respond_to?("join")
# Join the list elements with commas
puts "Goodbye #{@names.join(", ")}. Come back soon!"
else
puts "Goodbye #{@names}. Come back soon!"
end
end
end
if __FILE__ == $0
mg = MegaGreeter.new
mg.say_hi
mg.say_bye
# Change name to be "Zeke"
mg.names = "Zeke"
mg.say_hi
mg.say_bye
# Change the name to an array of names
mg.names = ["a", "b", "c"]
mg.say_hi
mg.say_bye
@Change to nil
mg.names = nil
mg.say_hi
mg.say_bye
end
저장 파일: ri20min. rb, 그리고 실행: ruby ri20min. rb
위의 코드 에 서 는 each 함 수 를 사용 합 니 다. 코드 블록 을 받 아들 일 수 있 는 함수 입 니 다. 모든 요 소 를 교체 할 때 받 아들 일 코드 블록 을 호출 합 니 다.코드 블록 은 이름 이 필요 없 는 함수 같 습 니 다.
@names.each do |name| //
puts "#{name}"
-----------------------
부호 블록
코드 블록 은 교체 목록 보다 더 번 거 로 운 작업 을 처리 하 는 데 사 용 됩 니 다. 마 운 트 해제 나 실행 오 류 를 자동 으로 설치 할 수 있 습 니 다.진정 으로 사용자 가 안심 하고 안심 할 수 있 도록 하 다.
@ names. respond 사용 하기to?('join') 이 스타일 을 '오리 형' 이 라 고 부 릅 니 다. - 얘 는 걸 으 면 오리 같 고 울 면 오리 같 아 요.
-------------------------
if __FILE__ == $0
__FILE__현재 실행 중인 스 크 립 트 의 파일 이름 을 저장 합 니 다. $0 은 스 크 립 트 를 시작 하 는 이름 입 니 다.위의 의미: 실행 중인 스 크 립 트 가 스 크 립 트 를 시작 할 때 다음 코드 를 실행 합 니 다.스 크 립 트 가 호출 될 때 사용 되 는 경우 이 내용 을 실행 하지 않 아 도 된다 는 장점 이 있 습 니 다.
--------------
도입부: 더 깊 은 개념 점 코드 블록 / yield / 모듈 / mixins 등
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ruby의 단일 메소드 및 단일 클래스 상세 정보단일 방법 Ruby는 단일 객체에만 적용되는 단일 객체 추가 방법을 단일 방법이라고 합니다. 또한 위에서 사용한 정의 방법 외에 Object#define_를 통해singleton_method 방법으로 단일 방법 정의...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.