如何在 Ruby 中使用字符串

2023-11-19

介绍

A string是一个或多个字符的序列,可以由字母、数字或符号组成。

Ruby 中的字符串是对象,与其他语言不同,字符串是mutable,这意味着可以就地更改它们,而不用创建新字符串。

您几乎会在编写的每个程序中使用字符串。字符串允许您使用文本显示用户并与用户进行交流。事实上,您现在正在阅读的页面是由通过网络浏览器显示在屏幕上的字符串组成的。字符串是编程最重要的基础之一。

在本教程中,您将学习如何在 Ruby 中使用字符串。您将创建字符串,将它们显示在屏幕上,将它们存储在变量中,将多个字符串连接在一起,并学习如何处理特殊字符,例如换行符、撇号和双引号。

创建和打印字符串

字符串存在于任一单引号内'或双引号"在 Ruby 中,要创建字符串,请将字符序列括在其中一个或另一个中:

'This is a string in single quotes.'

"This is a string in double quotes."

您可以选择使用单引号或双引号。在大多数情况下,只要保持一致,选择哪一种并不重要。但是,使用双引号可以让您执行字符串插值,您将在本教程中了解这一点。

要在程序中显示字符串,可以使用print method:

print "Let's print out this string."

The print方法完全按照书写方式显示字符串。

试试看。创建一个新的 Ruby 程序 called print.rb使用文本编辑器并使用print打印三个字符串的方法:

print.rb
print 'This is the first string.'
print 'This is the second string.'
print 'This is the third string.'

保存文件并运行程序:

  1. 红宝石打印.rb

您将看到以下输出:

Output
This is the first string.This is the second string.This is the third string.

三个字符串不是打印在各自的行上,而是所有三个字符串一起打印在一行上。这print方法将字符串打印到屏幕上,但如果您希望每个字符串独占一行,则必须自己添加换行符。

如果您希望所有三个字符串位于不同的行上,请使用puts方法代替。修改您的程序以使用puts代替print:

print.rb
puts 'This is the first string.'
puts 'This is the second string.'
puts 'This is the third string.'

现在再次运行该程序,您将看到以下输出:

Output
This is the first string. This is the second string. This is the third string.

The puts方法打印您指定的字符串,但还会在字符串末尾添加换行符。

在变量中存储字符串

变量是对计算机内存中某个位置的命名引用。您可以使用变量来存储数据并在以后检索它。

要将字符串存储在变量中,请定义变量名称并分配字符串的值:

my_string = 'This is my string'

然后,要检索该值,请使用变量的名称:

print my_string

要亲自测试一下,请创建文件string_variables.rb在编辑器中使用以下命令:

  1. nano字符串变量.rb

然后添加以下代码:

字符串变量.rb
my_name = "Sammy the Shark"
my_age = "none of your business"

puts my_name
puts my_age

该程序定义了两个变量:my_name and my_age。每个变量都分配有一个字符串。然后我们使用puts方法在其自己的行上打印每个字符串。

保存文件CTRL + X and y,然后执行程序:

  1. ruby string_variables.rb

您将看到以下输出:

Output
Sammy the Shark none of your business

通过将字符串分配给变量,您可以避免每次使用时都重复输入相同的字符串,从而更轻松地在程序中使用和操作字符串。

让我们看看如何将字符串连接在一起以创建新字符串。

字符串连接

级联意味着将两个或多个字符串连接在一起以创建一个新字符串。为了连接,我们使用连接运算符,由 a 表示+象征。这+当与算术运算一起使用时,符号也是加法运算符。

这是连接字符串的方法sammy and shark一起:

"sammy" + "shark"

这将产生以下输出:

Output
sammyshark

连接将字符串首尾相连,将它们组合起来并输出一个全新的字符串值。如果你想在单词之间有一个空格sammy and shark,您必须在其中一个字符串中包含该空格,如下所示:

"sammy " + "shark"

现在,您实际上不会在程序中编写这样的代码,但您需要经常将字符串和变量混合在一起,这就是连接的用武之地。

这是一个例子:

color = "Blue"
print "My favorite color is " + color

这将导致输出My favorite color is blue。请注意,我们在单词后面留了一个空格is在字符串中,因此输出在字符串和输出中变量的值之间会有一个空格。

您可以通过这种方式将多个字符串连接在一起。创建文件concatenation.rb并添加以下代码:

连接.rb
my_name = "Sammy the Shark"
my_age = "none of your business"

puts "My name is " + my_name + " and my age is " + my_age + "."

该程序定义了两个变量:my_name and my_age,每个都有自己指定的字符串,就像您之前所做的那样。但这一次,我们不是打印值,而是打印一个字符串,该字符串使用串联来打印带有更多上下文的这些值。

当您运行该程序时,您将看到以下输出:

Output
My name is Sammy the Shark and my age is none of your business.

在这个小程序中,您使用串联将变量插入到该字符串中。

当您通过串联组合两个或多个字符串时,您将创建一个可以在整个程序中使用的新字符串,因此您可能需要将创建的字符串分配给一个稍后可以使用的新变量:

连接.rb
my_name = "Sammy the Shark"
my_age = "none of your business"

# assign concatenated string to variable
output = "My name is " + my_name + " and my age is " + my_age + "."

# Print the output.
puts output

在这样的小程序中,使用额外的output变量可能是不必要的。但在较大的程序中,您可能希望使用串联来创建一个字符串,并在多个位置使用该字符串。将连接和算术等数据处理与输出分开也是一个好习惯,因为最终您的程序会变得更大,并且您需要将逻辑和输出分离到单独的文件或组件中,以使它们更易于管理。

请务必不要使用+两种不同数据类型之间的运算符。例如,您不能将字符串和整数连接在一起。

要查看会发生什么,请创建一个名为的新程序strings_and_integers.rb包含以下内容:

字符串和整数.rb
my_name = "Sammy the Shark"
my_number = 27

print my_name + my_number

这次我们有my_name它保存着字符串Sammy the Shark and my_number它保存整数27。我们知道27不是字符串,因为它没有用引号引起来。它也没有小数点,所以我们知道它是一个整数。

如果运行该程序:

  1. ruby strings_and_ints.rb

您将看到此错误消息:

Output
strings_and_ints.rb:4:in `+': no implicit conversion of Integer into String (TypeError) from strings_and_ints.rb:4:in `<main>'

错误no implicit conversion of Integer into String意味着 Ruby 只能将字符串连接到现有字符串。

在 Ruby 2.3 及更低版本中,您会看到以下错误消息:

strings_and_ints.rb:4:in `+': no implicit conversion of Fixnum into String (TypeError)
from strings_and_ints.rb:4:in `<main>'

关键词Fixnum是 Ruby 早期版本中赋予整数的数据类型。它是固定号码的缩写。在 Ruby 2.4 中,Fixnum及其对应物,Bignum,不再存在并被替换为Integer反而。

我们可以改变我们的程序并放置数字27用引号括起来 ("27"),以便将其声明为字符串而不是整数。或者我们可以在创建字符串时将数字转换为字符串,如下所示:

字符串和整数.rb
my_name = "Sammy the Shark"
my_number = 27

print my_name + my_number.to_s

The .to_s方法将整数转换为字符串。这是一种更好的方法,因为它可以让我们在程序中将数字保留为整数。当我们打印出来时,我们只需要它是一个字符串,但如果我们必须在程序逻辑的其他部分使用它,我们可能希望它是一个整数。

再次运行程序你会看到Sammy the Shark27打印到屏幕上。

在处理邮政编码、货币、电话号码和其他想要与文本一起显示在屏幕上的数字数据时,您会经常遇到将数字转换为字符串以进行连接的情况。

连接很强大,但也可能很棘手。如果您不小心遗漏了其中一项+运算符,您可能会收到语法错误。如果必须将字符串与保存数字的变量连接起来,则必须将变量转换为字符串。 Ruby 提供了另一种将变量值注入字符串的方法,称为字符串插值解决了这两个问题。

使用字符串插值

连接字符串和变量时,输出可能难以读取和调试。字符串插值通过让您将表达式嵌入到用双引号括起来的字符串中来解决这个问题。

而不是这样写:

"My name is " + my_name + "!"

你可以这样做:

"My name is #{my_name}!"

而不是终止字符串并使用+运算符,您可以将变量括起来#{}句法。此语法告诉 Ruby 计算表达式并将其注入到字符串中。

试试看。创建一个新程序,名为interpolation.rb并添加以下代码:

插值.rb
my_name = "Sammy the Shark"
my_age = "none of your business"

output = "My name is #{my_name} and my age is #{my_age}."

puts output

这与您已经编写的程序相同,但这次我们使用字符串插值来创建输出。

字符串插值还有另一个好处:它可以自动将数值转换为字符串。记住你的strings_and_integers.rb程序?再次在编辑器中打开该文件,但更改最后一行,使其如下所示:

字符串和整数.rb
my_name = "Sammy the Shark"
my_number = 27

# use interpolation instead of concatenation
print "My name is #{my_name} and my favorite number is #{my_number}."

Ruby 会自动转换my_number到一个字符串,你的程序将在运行时打印以下输出:

Output
My name is Sammy the Shark and my favorite number is 27.

字符串插值功能强大且方便。它也是连接字符串与变量的首选方法。

字符串文字和字符串值

请注意,您创建的所有字符串都用代码中的引号括起来,但实际打印的输出不包含引号。

提及其中每一个时都有区别。 A字符串字面量是源代码中编写的字符串,包括引号。 A字符串值是您在输出中看到的内容,并且不包含引号。

这是一个字符串文字:

"Sammy the Shark"

字符串值将是Sammy the Shark.

在大多数情况下,您不必担心这种差异,除非您想在字符串中使用特殊字符,例如引号或撇号。

转义字符串中的引号和撇号

由于引号用于表示字符串,因此如果您想在字符串中使用撇号和引号,则必须做一些额外的工作。

如果您尝试在单引号字符串中间使用撇号,如下所示:

'This isn't what I wanted.'

中的撇号isn't结束字符串,正如您从本示例中奇怪的突出显示中看到的那样。因此,Ruby 解释器将尝试将预期字符串的其余部分解析为代码,并且您将收到错误。

如果在用双引号括起来的字符串中使用双引号,您会遇到相同的情况:

"Sammy says, "Hello!""

在此示例中,前面的右双引号Hello终止字符串,后面的双引号Hello!创建一个新字符串,但没有匹配的双引号来终止它,因此 Ruby 将显示错误。

为了避免这个问题,您有几种选择。首先,您可以使用替代语法来创建字符串;如果必须在字符串中使用双引号,请使用单引号来定义字符串,反之亦然。你也可以escape引号,或者您可以使用不同的 Ruby 语法来定义字符串。让我们看看每种方法。

选项 1:使用备用字符串语法

解决这些问题的最简单方法是,当字符串需要包含双引号时,将字符串括在单引号中;当字符串需要使用单引号时,将字符串括在双引号中。

而不是用单引号定义此字符串:

'This isn't what I wanted.'

用双引号定义它:

"This isn't what I wanted."

并且不使用双引号来定义此字符串:

"Sammy says, "Hello!""

使用单引号:

'Sammy says, "Hello!"'

使用替代语法可以让你摆脱一些快速的困境,但它并不总是有效。例如,这两种方法都不适用于以下字符串:

"Sammy says, "I'm a happy shark!""

在此示例中,前面的右双引号I'm真的很糟糕。这会终止第一个字符串,然后 Ruby 会遇到撇号I'm,它以值开始一个新字符串m a happy shark!""。但这个新字符串没有匹配的单引号来终止它。使用单引号将字符串括起来也会带来类似的问题:

'Sammy says, "I'm a happy shark!"'

这次的撇号I'm终止字符串。

使用替代语法也会使您的代码不一致。不断地在字符串语法之间切换可能会让人感到困惑,我们可以转义字符来解决这个问题。

选项 2:转义字符串中的字符

反斜杠字符 (\),通常称为转义字符在字符串中,将阻止 Ruby 按字面解释字符串中的下一个字符。

这是我们有问题的字符串,用双引号编码,里面有双引号:

"Sammy says, "I'm a happy shark!""

创建一个名为的新 Ruby 程序quoting.rb并将此代码添加到文件中:

引用.rb
print "Sammy says, "I'm a happy shark!""

运行程序:

  1. ruby 引用.rb

你会看到这个输出:

Output
quoting.rb:1: syntax error, unexpected tCONSTANT, expecting end-of-input print "Sammy says, "I'm a happy shark!"" ^

要修复该错误,请在内部双引号前面使用反斜杠:

引用.rb
print "Sammy says, \"I'm a happy shark!\""

然后再次运行该程序,您将看到预期的输出:

Sammy says, "I'm a happy shark!"

请注意,在此示例中您不必转义撇号,因为不存在冲突。您只需要转义会使 Ruby 感到困惑的引号。

您可以通过使用不同的语法来定义字符串来完全避免转义引号。

选项 3:使用字符串的替代语法

到目前为止,您已经使用引号来定义字符串的边界。您也可以使用其他字符在 Ruby 中创建字符串。您可以定义分隔符,或您想要用来括住字符串的字符,方法是在百分号后指定它,如下所示:

%$Sammy says, "I'm a happy shark!"$

此语法将自动为您转义嵌入的字符串。实际的字符串看起来像这样:

"Sammy says, \"I'm a happy shark!\""

但是,更改分隔符意味着如果需要使用分隔符,则必须转义它。在这种情况下。如果必须在字符串中使用美元符号,则需要对字符串中的文字美元符号进行转义。

为了避免这种情况,您还可以使用大括号、方括号或圆括号作为分隔符。大括号最常见:

%{Sammy says, "I'm a happy shark!"}

如果需要的话,这些形式都支持字符串插值。

droplets = 5
print %{Sammy says, "I just created #{droplets} droplets!"}

您还会看到%Q{} and %q{}用于在 Ruby 程序中定义字符串。这%Q{}语法的工作方式与双引号字符串完全相同,这意味着您不必转义双引号,并且您将能够使用字符串插值:

droplets = 5
print %Q{Sammy says, "I just created #{droplets} droplets!"}

The %q{}语法的工作方式与单引号字符串完全相同:

%q{Sammy says, "I'm a happy shark!"}

您可能会看到%q and %Q在某些程序中使用括号或方括号代替花括号的语法。

正如您所看到的,在 Ruby 中创建字符串的方法有很多。无论您选择哪种方法,请在代码中保持一致。你会发现%Q{} and %{}方法是最常见的。

现在您已经知道如何处理特殊字符,让我们看看如何处理长字符串和换行符。

长字符串和换行符

有时您可能需要在字符串中插入换行符或回车符。您可以使用\n or \r转义字符以在代码中插入换行符:

output = "This is\na string\nwith newlines"
puts output

该程序将产生以下输出:

Output
This is a string with newlines

从技术上讲,这可以让我们的输出多行。然而,在一行上写一个很长的字符串很快就会变得很难阅读和使用。有几种解决方案。

首先,您可以使用串联运算符将字符串拆分为多行:

output = "This is a\n" +
"longer string\n" +
"with newlines."
puts output

这只是将三个字符串连接在一起,类似于您已经完成的操作。

您还可以将换行符直接放在字符串中:

output = "This is a
longer string
with newlines"
puts output

您还可以使用任何替代字符串语法来创建多行字符串:

output = %{This is a
longer string
with newlines}
puts output

在这两个示例中,请注意我们不需要换行符 (\n) 人物。这种方法保留空白,包括缩进和换行符。

因此,输出将包含换行符以及所有前导缩进,如下所示:

Output
This is a longer string with newlines

为了防止这种情况,请从代码中删除多余的空格:

output = %{This is a
longer string
with newlines
}

您还可以使用创建多行字符串heredoc,或“此处文档”,用于程序中多行字符串文字的术语。以下是编写该代码的方式:

output = <<-END
This is a
longer string
with newlines
END

The <<-END and END标记表示定界符的开始和结束。

Ruby 中的 Heredocs 还保留空白字符,这意味着如果您缩进 Heredoc 中的代码,前导缩进也会保留。所以这段代码:

output = <<-END
This is a
longer string
with newlines
END

打印出来会有两个缩进空间。

Ruby 2.3 及更高版本提供了“squiggly Heredoc”语法,可以自动删除这个前导空格。将heredoc定义中的连字符替换为波形符,因此<<-变成<<~, 像这样:

output = <<~END
This is a
longer string
with newlines
and the code is indented
but the output is not.
END

这会产生以下输出:

Output
This is a longer string with newlines and the code is indented but the output is not.

这使您可以使用此处文档并保持代码良好缩进。

Ruby 中的 Heredocs 还支持字符串插值。

正如您所看到的,Ruby 中有很多处理换行符和多行字符串的方法。当您使用现有的 Ruby 代码时,您将遇到所有这些方法,因为每个项目往往都有自己的风格。在您自己的代码中,选择适合您的样式并保持一致。

字符串复制

有时您可能需要使用 Ruby 多次重复一串字符。您可以使用*操作员。像+运营商,*运算符在与数字一起使用时有不同的用途,它是乘法运算符。当与一个字符串和一个整数一起使用时,* is the 字符串复制运算符,重复单个字符串,无论您想使用您提供的整数多少次。

打印出来Sammy九次,您将使用以下代码:

print "Sammy" * 9

此代码产生以下输出:

Output
SammySammySammySammySammySammySammySammySammy

您可以使用它来创建一些漂亮的 ASCII 艺术作品。创建一个名为banner.rb并添加以下代码:

puts "=" * 15
puts "| Hello World |"
puts "=" * 15

你能想象程序在运行之前会产生什么吗?

它产生以下输出:

Output
=============== | Hello World | ===============

这只是一个小例子,说明如何让计算机为您执行重复性任务。

结论

在本教程中,您学习了如何在 Ruby 编程语言中使用字符串数据类型。您创建了新字符串,将它们与其他字符串连接,并处理换行符、引号和撇号。然后,您使用字符串插值来更轻松地混合字符串和变量值,并且学习了如何重复字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ruby 中使用字符串 的相关文章

  • 使用 %w[] 创建包含空字符串的数组

    创建包含空字符串的数组 a b c 不是一个空格字符串 使用 W我可以用 W a b c 我也可以连接数组 但是是否可以使用空字符串创建数组 w 几个选项 W a b c z W a b c lt lt 我知道这没有使用 w 语法 但为了更
  • 在 OS X 10.7.4 上安装 RSRuby 时找不到库

    我正在尝试在我的 Mac 上安装 RSRuby 调用后 sudo gem install rsruby 我收到此错误 ERROR Cannot find the R library aborting extconf rb failed Co
  • ActiveSupport 如何计算月度总和?

    我很高兴也很惊讶地发现 ActiveSupport 按照我想要的方式进行月度汇总 无论相关月份中有多少天 添加1 month对特定的Time将使您在该月的同一天着陆Time gt Time utc 2012 2 1 gt Wed Feb 0
  • Bundler 似乎无法通过 Rbenv 找到正确的 Ruby

    多年来我一直使用 RVM 作为 Ruby 版本管理器 但由于其简单性 我想改用 rbenv 但是我在部署时发现了一些奇怪的问题 这似乎是错误的地方 env RBENV ROOT home deploy rbenv PATH home dep
  • 您可以使用 Jekyll 的 _includes 文件夹中的子目录吗?

    我的计划是在 includes目录 包括 页脚 包括 英雄 includes cta etc 当我引用那个时 include footers footer1 html 我收到以下错误 Liquid Exception Included fi
  • Rails 4.0 expire_fragment/缓存过期不起作用

    我一直在尝试使用 Rails 的缓存功能 但我无法使某些缓存片段过期 尽管它们似乎已过期 使用 Rails 教程网站中指出的 Russian Doll Caching 我正在使用此配置 我使release controller rb 控制器
  • 在 Ruby 中从一个数组减去另一个数组

    我有两个任务数组 创建和分配 我想从创建的任务数组中删除所有分配的任务 这是我的工作代码 但很混乱 assigned tasks user assigned tasks created tasks user created tasks Do
  • 单表继承发现问题

    我有以下3个rails类 它们都存储在一张表中 使用rails的单表继承 class Template lt ActiveRecord Base class ThingTemplate lt Template class StockThin
  • 如何使用 LDAP 进行 Ruby on Rails 身份验证? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个网络应用程序 并且我有一个使用的身份验证方法bcrypt gem它工作正常 但我想将身份验
  • 为什么我在安装 Rails 时会出现“写权限”错误?

    当我使用rvm use 1 9 2 我得到 Rails v3 0 0 vikas admin1 DL H61MXEL rvm use 1 9 2 default Using home vikas rvm gems ruby 1 9 2 p3
  • FieldPath 字段名称不能包含“.”当尝试使用 AGGREGATE 时

    我的查询有什么问题吗 db table aggregate match gt expr gt and gt eq gt size gt events 4 events 0 updated gt lt gt 2019 05 05 我越来越 M
  • 如何在启动 Rails 控制台时自动运行代码?

    假设每次 Rails 控制台出现时我都想要一个问候语 Scotts MBP 4 ucode scott rails c Loading development environment Rails 4 2 1 Hello there I m
  • RVM + Ruby 1.9.2 + Rmagick + Lion = 系统工作,RVM 不工作

    我已通过 RVM 在全新安装的 OS X Lion 上安装了 Ruby 1 9 2 我已经通过 homebrew 安装了 Ghostscript 和 imagemagick 当使用 RVM 运行 gem install rmagick 时
  • 在轮询器内异步运行代码

    在我的 ruby 脚本中 我使用 celluloid zmq gem 我尝试在轮询器内异步运行评估响应 使用 async evaluate response socket read multipart 但是 如果我从循环中删除睡眠 不知何故
  • Rails——理解 db:migrate

    我在理解 Ruby on Rails 中的迁移时遇到了一些困难 我的应用程序中有以下两个类db migrate 目录 存储在单独的文件中 class CreateUsers lt ActiveRecord Migration def sel
  • 捆绑包 - 从另一台电脑复制粘贴宝石

    我正在尝试设置 Rails 应用程序 该应用程序依赖于大量的宝石 宝石已预先安装在vendor gems我从朋友那里获得的副本的文件夹 现在 考虑到那些闭源宝石的不可用性 bundle install path home umang pro
  • 将 PDF 转换为 JPG 时质量低

    我正在尝试使用 Imagemagic RMAgick 将 PDF 文档转换为图像 原始 PDF 也是从图像创建的 不是原生矢量 PDF image Magick Image from blob original pdf self forma
  • 在 Ruby 中处理 Zip 文件 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在ruby中仅在内存中创建zip文件 https stackoverflow com questions 11532502 how to create zip file only in memor
  • 如何从 Ruby 2.0 中的字符串数组获取值

    我有这个字符串数组 array nike air nike steam nike softy nike strength smooth sleeper adidas air addidas jogar adidas softy adidas
  • 在 Ruby 中生成 GUID

    我有一个问题 用 GUID 很容易解决 特别是 对于密码重置工作流程 我想将 GUID 令牌发送到用户的电子邮件并让他们使用该令牌重置密码 由于 GUID 是唯一的 因此这非常安全 并且可以避免我通过电子邮件向人们发送密码 这是有风险的 我

随机推荐

  • 如何在 Ubuntu 18.04 上安装 Ruby

    Ruby 是当今最流行的语言之一 它具有优雅的语法 并且是强大的 Ruby on Rails 框架背后的语言 在本教程中 我们将向您展示在 Ubuntu 18 04 系统上安装 Ruby 的三种不同方法 先决条件 在开始学习本教程之前 请确
  • 使用 PuTTYgen 在 Windows 上生成 SSH 密钥

    Secure Shell SSH 是一种加密网络协议 用于客户端和服务器之间的安全连接 支持各种身份验证机制 两种最流行的机制是基于密码的身份验证和基于公钥的身份验证 使用 SSH 密钥比传统的密码身份验证更安全 更方便 本教程介绍如何使用
  • 如何在 CentOS 7 上设置 Apache 虚拟主机

    Apache 虚拟主机允许多个网站在一台 Web 服务器上运行 使用虚拟主机 您可以指定站点文档根 包含网站文件的目录 为每个站点创建单独的安全策略 为每个站点使用不同的 SSL 证书等等 在本教程中 我们将提供有关如何在 CentOS 7
  • Linux 文件命令

    Linuxfile命令显示文件的类型 当您必须找出以前从未见过的文件类型或文件没有文件扩展名时 这会很有帮助 Linux 文件命令语法 Linux 的语法file命令如下 file OPTION FILE 它可以采用一个或多个文件名作为其参
  • 如何在 Ubuntu 20.04 上配置静态 IP 地址

    本文介绍如何在 Ubuntu 20 04 上设置静态 IP 地址 通常 在大多数网络配置中 IP 地址由路由器 DHCP 服务器动态分配 在不同情况下可能需要设置静态 IP 地址 例如配置端口转发或运行媒体服务器 使用 DHCP 配置静态
  • 如何在 Bash 中将 stderr 重定向到 stdout

    将命令的输出重定向到文件或通过管道将其传输到另一个命令时 您可能会注意到错误消息打印在屏幕上 在 Bash 和其他 Linux shell 中 当程序执行时 它使用三个标准 I O 流 每个流都由一个数字文件描述符表示 0 stdin 标准
  • 如何在 Ubuntu 18.04 上安装 PHP

    在本教程中 我们将介绍在 Ubuntu 18 04 上安装发行版的默认 PHP 7 2 并将其与 Nginx 和 Apache 集成所需的步骤 我们还将向您展示如何安装 PHP 7 1 和 7 3 大多数流行的 PHP 框架和应用程序包括W
  • 如何在 Ubuntu 18.04 上使用 Apache 安装 Joomla

    Joomla 是最流行的开源内容管理系统之一 为数十万个网站提供支持 它是用 PHP 编写的 包含大量可以通过免费和高级扩展和主题进行扩展的功能 使用 Joomla 您可以轻松构建电子商务商店 个人网站 社交网站或博客 在本教程中 我们将解
  • 如何在 Ubuntu 20.04 上安装和使用 Wine

    Wine 是一个开源兼容层 允许您在类 Unix 操作系统 例如 Linux FreeBSD 和 macOS 上运行 Windows 应用程序 Wine是 Wine Is Not an Emulator 的缩写 它将 Windows 系统调
  • 如何在 CentOS 8 上安装 Skype

    Skype是世界上最流行的通信应用程序之一 它允许您免费拨打在线音频和视频电话 并以经济实惠的价格拨打全球手机和固定电话 本文介绍如何在 CentOS 8 上安装最新版本的 Skype 在 CentOS 上安装 Skype Skype 不是
  • 如何在 Ubuntu 20.04 上安装 Ruby

    Ruby 是当今最流行的编程语言之一 它具有优雅的语法 注重简单性和生产力 Ruby 是强大的 Ruby on Rails 框架背后的语言 在本教程中 我们将向您展示在 Ubuntu 20 04 上安装 Ruby 的三种不同方法 来自标准
  • 如何在 CentOS 7 上安装 Node.js 和 npm

    Node js 是一个跨平台的 JavaScript 运行时环境 允许服务器端执行 JavaScript 代码 Node js 主要用于后端 但作为全栈和前端解决方案也很受欢迎 npm 是 Node Package Manager 的缩写
  • 如何在 CentOS 8 上安装 Tomcat 9

    Apache Tomcat 是 Java Servlet JavaServer Pages Java 表达式语言和 Java WebSocket 技术的开源实现 它是当今世界上采用最广泛的应用程序和 Web 服务器之一 Tomcat 使用简
  • 如何在 Debian 9 上安装 Asterisk

    Asterisk 是最流行且广泛采用的用于构建通信应用程序的开源框架 它被世界各地的个人 小型企业 大型企业和政府使用 Asterisk 功能包括电话会议 语音邮件 等待音乐 呼叫转接 呼叫排队 呼叫录音 数据库存储 检索等等 在本教程中
  • 如何在 CentOS 7 上安装 Minecraft 服务器

    我的世界 是有史以来最受欢迎的游戏之一 这是一款关于放置方块并进行冒险的沙盒视频游戏 在本教程中 我们将完成在 CentOS 7 上安装和配置 Minecraft 服务器所需的步骤 我们将使用 Systemd 来运行 Minecraft 服
  • 如何在 CentOS 7 上安装 Elasticsearch

    Elasticsearch 是一个开源分布式全文搜索和分析引擎 它支持 RESTful 操作 允许您实时存储 搜索和分析大量数据 Elasticsearch 是最流行的搜索引擎之一 为具有复杂搜索要求的应用程序 例如大型电子商务商店和分析应
  • Linux 中的 Tar 命令(创建和提取档案)

    The tar命令通过将一组文件转换为存档来创建 tar 文件 它还可以提取 tar 存档 显示存档中包含的文件列表 向现有存档添加其他文件以及各种其他类型的操作 Tar 最初设计用于创建档案以将文件存储在磁带上 这就是它得名 的原因 Ta
  • 如何在 Ubuntu 18.04 上启用 SSH

    Secure Shell SSH 是一种加密网络协议 用于客户端和服务器之间的安全连接 在本教程中 我们将向您展示如何在 Ubuntu 桌面计算机上启用 SSH 启用 SSH 将允许您远程连接到 Ubuntu 计算机并安全地传输文件或执行管
  • Spring Boot @SpringBootApplication,SpringApplication 类

    春季启动 SpringBootApplication注解 春季启动 SpringBootApplication注解用于标记一个配置类 该类声明了一个或多个 Bean方法和触发器auto configuration和组件扫描 这与声明一个类相
  • 如何在 Ruby 中使用字符串

    介绍 A string是一个或多个字符的序列 可以由字母 数字或符号组成 Ruby 中的字符串是对象 与其他语言不同 字符串是mutable 这意味着可以就地更改它们 而不用创建新字符串 您几乎会在编写的每个程序中使用字符串 字符串允许您使