Latest web development tutorials

루비 데이터 형식

이 장에서는 우리는 루비 기본 데이터 유형을 소개합니다.

루비는 데이터 유형은 기본 숫자, 문자열, 범위, 기호, 그리고, 허위 사실, 이러한 특수 값 전무뿐만 아니라 두 가지 중요한 데이터 구조 --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 비트 바이트의 시퀀스이다.

큰 따옴표와 백 슬래시의 문자열 대체 문자열은 작은 따옴표를 대체 할 수 없습니다 허용, 단지 \\과 \ '두 개의 백 슬래시의 사용은 할 수 있습니다.

#!를 / usr / 빈 / 루비 -w

' "\\"를 사용하여 탈출'둔다;
'그 \'의 권리 '둔다;

»인스턴스를 실행

이것은 다음과 같은 결과를

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-xControl-x
\M-xMeta-x (c | 0x80)
\M-\C-xMeta-Control-x
\x字符 x

루비 문자열에 대한 자세한 내용은 참조 루비 문자열 (문자열) .

배열

[]에 의해 문자 배열은 쉼표로 구분, 지원 범위 정의를 정의 할 수 있습니다.

  • (1) 배열을 [] 인덱스 액세스
  • (2) 과제로는 요소를 교체, 삭제, 삽입
  • (3) + - 제 병합과 요소를 삭제하고 새로운 컬렉션이 표시되는 컬렉션
  • (4) 부가적인 데이터 요소들에 의해 원 해상도 <<
  • (5) 반복 배열 요소 번호로 *
  • (6) |와 앰퍼샌드 할 노동 조합 및 교차로 작업 (순서주의)

예 :

#!를 / usr / 빈 / 루비
진 = [ "프레드", 10, 3.14, "마지막 요소" "이것은 문자열"]
ary.each 할 | 전 |
난을 둔다

»인스턴스를 실행

이것은 다음과 같은 결과를

프레드
(10)
3.14
이것은 문자열
마지막 요소

루비 배열에 대한 자세한 내용은 참조 루비 배열 (어레이) .

해시 유형

루비 해시 키 / 값 쌍 중괄호 시리즈에 위치, 키와 값 시퀀스 => 분리 사이에 쉼표를 사용합니다. 쉼표를 후행 무시됩니다.

#!를 / usr / 빈 / 루비

HSH는 = 색상 = { "빨간색"=> 0xf00, "녹색"=> 0x0f0, "파란색"=> 0x00f}
| 키 값을 | hsh.each은 할
인쇄 키, "N \"가치 "입니다"


»인스턴스를 실행

이것은 다음과 같은 결과를

red is 3840
green is 240
blue is 15

루비 해시에 대한 자세한 내용은 참조 루비 해시 (해쉬) .

범위 유형

범위는 범위를 나타냅니다.

범위는 시작 값 나타내도록 설정하여 최종 값이다. 사용 가능한 s..e과의 ... 전자의 범위는 건설, 또는 Range.new으로 구성합니다.

..하여 구성 (끝 값 포함) 값을 최종 범위의 시작 값에서 실행. (끝 값은 포함되지 않음) 값을 종료 시작 값의 범위 실행을 사용하여 구축. 시퀀스의 각 값을 반환 범위를 사용하는 반복자로 사용합니다.

범위 (1..5)는 그것의 값이 1, 2, 3, 4가 포함되어 있음을 의미 하나, 2, 3, 4, 5, 범위 (1 ... 5)의 값을 포함하는 것을 의미한다.

#!를 / usr / 빈 / 루비

(10..15) .each 할 | N |
인쇄 N ','

»인스턴스를 실행

이것은 다음과 같은 결과를

10 11 12 13 14 15

루비 범위에 대한 자세한 내용은 참조 루비 범위 (범위) .