루비 데이터 형식
이 장에서는 우리는 루비 기본 데이터 유형을 소개합니다.
루비는 데이터 유형은 기본 숫자, 문자열, 범위, 기호, 그리고, 허위 사실, 이러한 특수 값 전무뿐만 아니라 두 가지 중요한 데이터 구조 --Array 및 해시를 포함 지원됩니다.
값 형식 (수)
1, 정수 (정수)
정수 31 이하 (4 바이트) 경우 Fixnum이라는 두 인스턴스이다. 이 경우, Bignum이 인스턴스입니다.
정수 범위에서 -2 또는 -2 30-2 30-1 62-2 62-1. 이 범위의 정수는이 클래스Bignum이 개체의범위에 저장된Fixnum이라는클래스객체의정수입니다.
당신은 숫자의 문자열 다음에 (이진에 해당하는 0B 0 진수를 들면, 0X가, 진수 대응) 정수, 선택 사양 기본 지표의 앞에 선택 프리앰블 심볼을 사용할 수 있습니다. 밑줄 문자 숫자 문자열은 무시됩니다.
당신은 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
플로트
부동 소수점 루비를 지원합니다. 그들은 소수와 숫자입니다. 플로트플로트객체 클래스 및 다음 중 하나 일 수있다.
예
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(四分之一),然后开四次方根
문자열 유형
루비 문자열 단순히 클래스 문자열 목적은 8 비트 바이트의 시퀀스이다.
큰 따옴표와 백 슬래시의 문자열 대체 문자열은 작은 따옴표를 대체 할 수 없습니다 허용, 단지 \\과 \ '두 개의 백 슬래시의 사용은 할 수 있습니다.
예
이것은 다음과 같은 결과를
escape using "\" That's right
당신은#을 시퀀싱 할 수 있습니다 {expr이}임의의 루비 식 사용의 문자열로 대체됩니다. 여기서, EXPR은 루비 표현 될 수 있습니다.
#!를 / usr / 빈 / 루비 -w 두고 "곱셈 값 : #을 {24 * 60 * 60}";
이것은 다음과 같은 결과를
곱셈 값 : 86400
#!/usr/bin/ruby -w name="Ruby" puts name puts "#{name+",ok"}"
출력은 다음과 같습니다
Ruby Ruby,ok
백 슬래시
다음 표는 지원되는 루비 백 슬래시를 보여줍니다
符号 | 表示的字符 |
---|---|
\n | 换行符 (0x0a) |
\r | 回车符 (0x0d) |
\f | 换页符 (0x0c) |
\b | 退格键 (0x08) |
\a | 报警符 Bell (0x07) |
\e | 转义符 (0x1b) |
\s | 空格符 (0x20) |
\nnn | 八进制表示法 (n 是 0-7) |
\xnn | 十六进制表示法 (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 |
루비 문자열에 대한 자세한 내용은 참조 루비 문자열 (문자열) .
배열
[]에 의해 문자 배열은 쉼표로 구분, 지원 범위 정의를 정의 할 수 있습니다.
- (1) 배열을 [] 인덱스 액세스
- (2) 과제로는 요소를 교체, 삭제, 삽입
- (3) + - 제 병합과 요소를 삭제하고 새로운 컬렉션이 표시되는 컬렉션
- (4) 부가적인 데이터 요소들에 의해 원 해상도 <<
- (5) 반복 배열 요소 번호로 *
- (6) |와 앰퍼샌드 할 노동 조합 및 교차로 작업 (순서주의)
예 :
이것은 다음과 같은 결과를
프레드 (10) 3.14 이것은 문자열 마지막 요소
루비 배열에 대한 자세한 내용은 참조 루비 배열 (어레이) .
해시 유형
루비 해시 키 / 값 쌍 중괄호 시리즈에 위치, 키와 값 시퀀스 => 분리 사이에 쉼표를 사용합니다. 쉼표를 후행 무시됩니다.
예
예
HSH는 = 색상 = { "빨간색"=> 0xf00, "녹색"=> 0x0f0, "파란색"=> 0x00f}
| 키 값을 | hsh.each은 할
인쇄 키, "N \"가치 "입니다"
끝
»인스턴스를 실행
이것은 다음과 같은 결과를
red is 3840 green is 240 blue is 15
루비 해시에 대한 자세한 내용은 참조 루비 해시 (해쉬) .
범위 유형
범위는 범위를 나타냅니다.
범위는 시작 값 나타내도록 설정하여 최종 값이다. 사용 가능한 skoe과의 ko. 전자의 범위는 건설, 또는 Range.new으로 구성합니다.ko하여 구성 (끝 값 포함) 값을 최종 범위의 시작 값에서 실행. (끝 값은 포함되지 않음) 값을 종료 시작 값의 범위 실행을 사용하여 구축. 시퀀스의 각 값을 반환 범위를 사용하는 반복자로 사용합니다.
범위 (1ko5)는 그것의 값이 1, 2, 3, 4가 포함되어 있음을 의미 하나, 2, 3, 4, 5, 범위 (1 ko. 5)의 값을 포함하는 것을 의미한다.
예
이것은 다음과 같은 결과를
10 11 12 13 14 15
루비 범위에 대한 자세한 내용은 참조 루비 범위 (범위) .