펄 시작하기로그인
펄 시작하기
작가:php.cn  업데이트 시간:2022-04-14 16:05:12

펄 변수


변수는 메모리에 저장되는 데이터입니다. 변수를 만들면 메모리에 공간이 생깁니다.

인터프리터는 변수 유형에 따라 메모리의 저장 공간을 결정하므로 정수, 부동 소수점, 문자열 등과 같은 다양한 데이터 유형을 변수에 할당할 수 있습니다.

이전 장에서는 Perl의 세 가지 기본 데이터 유형인 스칼라, 배열, 해시를 소개했습니다.

  • 스칼라 $로 시작합니다. 예를 들어 $a $b는 두 개의 스칼라입니다.


  • @a @b와 같은 배열 @ 시작은 두 개의 배열입니다.


  • 해시 % 시작, %a %b는 두 개의 해시입니다.

Perl은 각 변수 유형에 대해 독립적인 명령 공간을 설정하므로 서로 다른 유형의 변수가 동일한 이름을 사용할 수 있으므로 충돌에 대해 걱정할 필요가 없습니다. 예를 들어 $foo와 @foo는 서로 다른 두 변수입니다.


변수 만들기

변수는 유형을 명시적으로 선언할 필요가 없습니다. 변수에 값이 할당되면 인터프리터가 자동으로 일치하는 유형 공간을 할당합니다.

변수는 등호(=)를 사용하여 값을 할당합니다.

프로그램에서 use strict 문을 사용하여 모든 변수가 유형을 선언하도록 할 수 있습니다.

등호 왼쪽이 변수, 오른쪽이 값입니다. 예시는 다음과 같습니다.

$age = 25;             # 整型
$name = "php";      # 字符串
$salary = 1445.50;     # 浮点数

위 코드에서 25는 "php"입니다. 및 1445.50은 각각 $age , $name$salary 변수에 할당됩니다.

다음으로 배열과 해시의 사용법을 살펴보겠습니다.


스칼라 변수

스칼라는 단일 데이터 단위입니다. 데이터는 정수, 부동 소수점 숫자, 문자, 문자열, 단락 등이 될 수 있습니다. 간단히 말해서 무엇이든 될 수 있습니다. 다음은 스칼라의 간단한 응용 프로그램입니다.

#!/usr/bin/perl

$age = 25;             # 整型
$name = "php";      # 字符串
$salary = 1445.50;     # 浮点数

print "Age = $age\n";
print "Name = $name\n";
print "Salary = $salary\n";

위 프로그램의 실행 출력은 다음과 같습니다.

Age = 25
Name = php
Salary = 1445.5

배열 변수

배열은 순서가 지정된 항목을 저장하는 데 사용됩니다. 스칼라 값 변수.

배열 @이 시작됩니다.

배열의 변수에 접근하려면 달러 기호($) + 변수 이름을 사용하고 접근할 첨자를 지정하면 됩니다.

#!/usr/bin/perl

@ages = (25, 30, 40);             
@names = ("google", "php", "taobao");

print "$ages[0] = $ages[0]\n";
print "$ages[1] = $ages[1]\n";
print "$ages[2] = $ages[2]\n";
print "$names[0] = $names[0]\n";
print "$names[1] = $names[1]\n";
print "$names[2] = $names[2]\n";

의 출력 결과는 다음과 같습니다. 위 프로그램 실행은 다음과 같습니다.

$ages[0] = 25
$ages[1] = 30
$ages[2] = 40
$names[0] = google
$names[1] = php
$names[2] = taobao

프로그램에서는 $ 문자가 출력될 수 있도록 $ 표시 앞에 이스케이프 문자()를 사용합니다.


해시 변수

해시는 키/값 쌍의 모음입니다.

해시 % 시작.

해시 값에 액세스하려면 $ + {key} 형식을 사용하여 액세스할 수 있습니다.

#!/usr/bin/perl

%data = ('google', 45, 'php', 30, 'taobao', 40);

print "$data{'google'} = $data{'google'}\n";
print "$data{'php'} = $data{'php'}\n";
print "$data{'taobao'} = $data{'taobao'}\n";

위 프로그램 실행의 출력 결과는 다음과 같습니다. :

$data{'google'} = 45
$data{'php'} = 30
$data{'taobao'} = 40

가변 컨텍스트

소위 컨텍스트: 표현식이 위치한 위치를 나타냅니다.

등호 왼쪽에 있는 변수의 유형에 따라 컨텍스트가 결정됩니다. 등호 왼쪽이 스칼라이면 스칼라 컨텍스트입니다. sign은 목록이고 목록 컨텍스트입니다.

Perl 인터프리터는 컨텍스트에 따라 변수 유형을 결정합니다. 예는 다음과 같습니다.

#!/usr/bin/perl

@names = ('google', 'php', 'taobao');

@copy = @names;   # 复制数组
$size = @names;   # 数组赋值给标量,返回数组元素个数

print "名字为 : @copy\n";
print "名字数为 : $size\n";

위 프로그램 실행의 출력 결과는 다음과 같습니다.

코드의
名字为 : google php taobao
名字数为 : 3

@names는 두 가지 다른 컨텍스트에서 사용되는 배열입니다. 첫 번째는 이를 다른 배열에 복사하여 배열의 모든 요소를 ​​출력합니다. 두 번째로 배열의 요소 수를 반환하는 스칼라에 배열을 할당합니다.

아래에는 다양한 컨텍스트가 나열되어 있습니다.

일련 번호컨텍스트 및 설명
1스칼라 −
序号上下文及描述
1标量 −

赋值给一个标量变量,在标量上下文的右侧计算

2列表 −

赋值给一个数组或哈希,在列表上下文的右侧计算。

3布尔 −

布尔上下文是一个简单的表达式计算,查看是否为 true 或 false。

4Void −

这种上下文不需要关系返回什么值,一般不需要返回值。

5插值 −

这种上下文只发生在引号内。

스칼라 변수에 할당되며 스칼라 오른쪽에서 계산됩니다. context
2List−오른쪽에 있는 배열 또는 해시에 할당 목록 컨텍스트 계산. <🎜>
3Boolean−<🎜>Boolean 컨텍스트는 true 또는 false를 확인하는 간단한 표현식 평가입니다. . <🎜>
4Void −<🎜>이런 종류의 컨텍스트는 어떤 값이 반환되는지 알 필요가 없습니다. , 일반적으로 반환 값이 아닙니다. <🎜>
5보간 −<🎜>이 문맥은 따옴표 안에서만 나타납니다. <🎜>
<🎜><🎜>