루비 데이터 유형
이 장에서는 Ruby의 기본 데이터 유형을 소개합니다.
Ruby에서 지원하는 데이터 유형에는 기본 숫자, 문자열, 범위, 기호 및 true, false, nil의 특수 값과 두 가지 중요한 데이터 구조인 배열 및 해시가 포함됩니다.
숫자형(Number)
1. 정수형(Integer)
정수형이 31비트(4바이트) 이내이면 Fixnum 인스턴스입니다. 초과하는 경우 Bignum 인스턴스입니다.
정수의 범위는 -230부터 230-1 또는 -262부터 262-1까지입니다. 이 범위 내의 정수는 Fixnum 클래스의 객체이고, 이 범위 밖의 정수는 Bignum 클래스의 객체에 저장됩니다.
정수 앞에 선택적 선행 기호, 선택적 기본 표시기(8진수는 0, 16진수는 0x, 2진수는 0b)와 숫자 문자열을 사용할 수 있습니다. 숫자 문자열에서는 밑줄 문자가 무시됩니다.
물음표로 표시된 이스케이프 시퀀스의 ASCII 문자 또는 정수 값을 얻을 수 있습니다.
예
123 # Fixnum 十进制 1_234 # Fixnum 带有下划线的十进制 -500 # 负的 Fixnum 0377 # 八进制 0xff # 十六进制 0b1011 # 二进制 "a".ord # "a" 的字符编码 ?\n # 换行符(0x0a)的编码 12345678901234567890 # Bignum
#整型 Integer 以下是一些整型字面量 #字面量(literal):代码中能见到的值,数值,bool值,字符串等都叫字面量 #如以下的0,1_000_000,0xa等 a1=0 #带千分符的整型 a2=1_000_000 #其它进制的表示 a3=0xa puts a1,a2 puts a3 #puts print 都是向控制台打印字符,其中puts带回车换行符 =begin 这是注释,称作:嵌入式文档注释 类似C#中的/**/ =end
부동 소수점
Ruby는 부동 소수점 숫자를 지원합니다. 소수가 있는 숫자입니다. 부동 소수점 숫자는 Float 클래스의 객체이며 다음 중 하나일 수 있습니다.
Instances
123.4 # 浮点值 1.0e6 # 科学记数法 4E20 # 不是必需的 4e+20 # 指数前的符号
#浮点型 f1=0.0 f2=2.1 f3=1000000.1 puts f3
산술 연산
더하기, 빼기, 곱하기 및 나누기 연산자: +-*/; 지수 연산자는 **
지수는 정수일 필요는 없습니다(예:
#指数算术 puts 2**(1/4)#1与4的商为0,然后2的0次方为1 puts 16**(1/4.0)#1与4.0的商为0.25(四分之一),然后开四次方根
String 유형).
Ruby 문자열은 단순히 문자열과 유사한 객체인 8비트 바이트의 시퀀스입니다.
큰따옴표로 묶인 문자열은 대체 및 백슬래시 기호 사용을 허용합니다. 작은따옴표로 묶인 문자열은 대체를 허용하지 않으며 백슬래시 기호 \ 및 ' 두 개만 허용됩니다.
Instance
Instance
#!/usr/bin/ruby -w puts 'escape using "\"'; puts 'That\'s right';
인스턴스 실행 »
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
다음 결과가 생성됩니다.
escape using "\" That's right
#{ expr } 시퀀스를 사용하여 Ruby 표현식의 값을 문자열로 바꿀 수 있습니다. 여기서 expr은 어떤 Ruby 표현식이라도 될 수 있습니다.
#!/usr/bin/ruby -w puts "Multiplication Value : #{24*60*60}";
다음 결과가 생성됩니다.
Multiplication Value : 86400
#!/usr/bin/ruby -w name="Ruby" puts name puts "#{name+",ok"}"
출력은 다음과 같습니다.
Ruby Ruby,ok
백슬래시 기호
다음 표에는 Ruby에서 지원되는 백슬래시 기호가 나열되어 있습니다.
기호로 표시되는 문자 | |
---|---|
n | 라인 피드(0x0a) |
r | 캐리지 리턴(0x0d) |
f | 폼 피드(0x0c) |
b | 백스페이스 키(0x0 8) |
a | 알람 기호 벨(0x07) |
e | 이스케이프 문자(0x1b) |
s | 공백 문자(0x20) |
nnn | 8진수 표기법(n은 0임) -7) |
xnn | 16진수 표기법(n은 0-9, a-f 또는 A-F) |
cx, C-x | Control-x |
M-x | Meta-x(c | 0x80) |
M-C-x | Meta-Control-x |
x | 문자 x |
Ruby 문자열에 대한 자세한 내용은 Ruby 문자열을 확인하세요.
Array
배열 리터럴은 []로 구분된 쉼표로 정의되며 범위 정의를 지원합니다.
(1) [] 인덱스를 통해 배열에 액세스
(2) 할당 작업을 통해 요소 삽입, 삭제 및 교체
(3) +, - 기호 및 기호를 통해 요소 병합 및 삭제 컬렉션은 새로운 세트에 대해 나타납니다
(4) < 기호를 사용하여 원본 데이터에 요소를 추가합니다
(5) * 기호를 사용하여 배열 요소를 반복합니다
(6) | 및 & 기호를 사용하여 합집합 교차 작업(순서 참고)
인스턴스:
Instance
#!/usr/bin/ruby ary = [ "fred", 10, 3.14, "This is a string", "last element", ] ary.each do |i| puts i end
인스턴스 실행»
온라인을 보려면 "인스턴스 실행" 버튼을 클릭하세요. 인스턴스
다음 결과가 생성됩니다.
fred 10 3.14 This is a string last element
필요한 경우 Ruby 배열에 대한 자세한 내용은 Ruby 배열(배열)을 확인하세요.
해시 유형
Ruby 해싱은 중괄호 안에 배치된 일련의 키/값 쌍으로, 키와 값은 쉼표와 시퀀스 =>로 구분됩니다. 후행 쉼표는 무시됩니다.
Instance
Instance
#!/usr/bin/ruby hsh = colors = { "red" => 0xf00, "green" => 0x0f0, "blue" => 0x00f } hsh.each do |key, value| print key, " is ", value, "\n" end
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요.
이렇게 하면 다음 결과가 생성됩니다.
red is 3840 green is 240 blue is 15
Ruby 해시에 대한 자세한 내용을 보려면, Ruby Hash를 확인해 보세요.
범위 유형
범위는 간격을 나타냅니다.
범위는 시작 값과 끝 값을 설정하여 표현됩니다. 범위는 s..e 및 se...e를 사용하거나 Range.new를 통해 구성할 수 있습니다...을 사용하여 구성된 범위는 시작 값부터 끝 값(포함)까지 실행됩니다. ...를 사용하여 구성된 범위는 시작 값부터 끝 값까지(독점적으로) 실행됩니다. 반복자로 사용되는 경우 범위는 시퀀스의 각 값을 반환합니다.
범위(1..5)는 1, 2, 3, 4, 5 값을 포함한다는 의미이고, 범위(1...5)는 1, 2, 3, 4 값을 포함한다는 의미입니다.
Instance
Instance
#!/usr/bin/ruby (10..15).each do |n| print n, ' ' end
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요.
이렇게 하면 다음 결과가 생성됩니다.
10 11 12 13 14 15
Ruby 범위에 대한 자세한 내용을 보려면, Ruby 제품군을 확인하세요.