A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-bash/zsh: ruby command not found # Windows (WSL2) sudo apt-get update sudo apt-get install ruby # Debian apt-get install ruby # Ubuntu apt-get install ruby # Alpine apk add ruby # Arch Linux pacman -S ruby # Kali Linux apt-get install ruby # CentOS yum install ruby # Fedora dnf install ruby # OS X brew install ruby # Raspbian apt-get install ruby # Dockerfile dockerfile.run/ruby # Docker docker run cmd.cat/ruby ruby
Ruby 是一种解释型脚本语言,用于快速轻松地进行面向对象编程。它具有许多处理文本文件和执行系统管理任务(类似 Perl)的功能。它简单、直接且可扩展。
如果您想要一种易于进行面向对象编程的语言,或者您不喜欢 Perl 的丑陋,或者您喜欢 LISP 的概念,但不喜欢太多括号,那么 Ruby 或许是您的理想之选。
--copyright
Prints the copyright notice.
--version
Prints the version of Ruby interpreter.
-0[octal]
(The digit ``zero''.) Specifies the input record separator
("$/") as an octal number. If no digit is given, the null char-
acter is taken as the separator. Other switches may follow the
digits. -00 turns Ruby into paragraph mode. -0777 makes Ruby
read whole file at once as a single string since there is no
legal character with that value.
-C directory
-X directory
Causes Ruby to switch to the directory.
-E external[]:internal
--encoding external[]:internal
Specifies the default value(s) for external encodings and inter-
nal encoding. Values should be separated with colon (:).
You can omit the one for internal encodings, then the value
("Encoding.default_internal") will be nil.
--external-encoding=encoding
--internal-encoding=encoding
Specify the default external or internal character encoding
-F pattern
Specifies input field separator ("$;").
-I directory
Used to tell Ruby where to load the library scripts. Directory
path will be added to the load-path variable ("$:").
-K kcode
Specifies KANJI (Japanese) encoding. The default value for
script encodings ("__ENCODING__") and external encodings
("Encoding.default_external") will be the specified one. kcode
can be one of
e EUC-JP
s Windows-31J (CP932)
u UTF-8
n ASCII-8BIT (BINARY)
-S Makes Ruby use the PATH environment variable to search for
script, unless its name begins with a slash. This is used to
emulate #! on machines that don't support it, in the following
manner:
#! /usr/ruby/2.1/bin/ruby
# This line makes the next one a comment in Ruby \
exec /usr/ruby/2.1/bin/ruby -S $0 $*
-T[level=1]
Turns on taint checks at the specified level (default 1).
-U Sets the default value for internal encodings ("Encod-
ing.default_internal") to UTF-8.
-W[level=2]
Turns on verbose mode at the specified level without printing
the version message at the beginning. The level can be;
0 Verbose mode is "silence". It sets the "$VERBOSE" to nil.
1 Verbose mode is "medium". It sets the "$VERBOSE" to false.
2 (default)
Verbose mode is "verbose". It sets the "$VERBOSE" to true. -W 2
is same as -w
-a Turns on auto-split mode when used with -n or -p. In auto-split
mode, Ruby executes
$F = $_.split
at beginning of each loop.
-c Causes Ruby to check the syntax of the script and exit without
executing. If there are no syntax errors, Ruby will print ``Syn-
tax OK'' to the standard output.
-d
--debug
Turns on debug mode. "$DEBUG" will be set to true.
-e command
Specifies script from command-line while telling Ruby not to
search the rest of the arguments for a script file name.
-h
--help Prints a summary of the options.
-i extension
Specifies in-place-edit mode. The extension, if specified, is
added to old file name to make a backup copy. For example:
% echo matz > /tmp/junk
% cat /tmp/junk
matz
% ruby -p -i.bak -e '$_.upcase!' /tmp/junk
% cat /tmp/junk
MATZ
% cat /tmp/junk.bak
matz
-l (The lowercase letter ``ell''.) Enables automatic line-ending
processing, which means to firstly set "$\" to the value of
"$/", and secondly chops every line read using chop!.
-n Causes Ruby to assume the following loop around your script,
which makes it iterate over file name arguments somewhat like
sed -n or awk.
while gets
...
end
-p Acts mostly same as -n switch, but print the value of variable
"$_" at the each end of the loop. For example:
% echo matz | ruby -p -e '$_.tr! "a-z", "A-Z"'
MATZ
-r library
Causes Ruby to load the library using require. It is useful
when using -n or -p.
-s Enables some switch parsing for switches after script name but
before any file name arguments (or before a --). Any switches
found there are removed from ARGV and set the corresponding
variable in the script. For example:
#! /usr/ruby/2.1/bin/ruby -s
# prints "true" if invoked with `-xyz' switch.
print "true\n" if $xyz
On some systems "$0" does not always contain the full pathname,
so you need the -S switch to tell Ruby to search for the script
if necessary (to handle embedded spaces and such). A better
construct than "$*" would be ${1+"$@"}, but it does not work if
the script is being interpreted by csh(1).
-v Enables verbose mode. Ruby will print its version at the begin-
ning and set the variable "$VERBOSE" to true. Some methods
print extra messages if this variable is true. If this switch
is given, and no other switches are present, Ruby quits after
printing its version.
-w Enables verbose mode without printing version message at the
beginning. It sets the "$VERBOSE" variable to true.
-x[directory]
Tells Ruby that the script is embedded in a message. Leading
garbage will be discarded until the first line that starts with
``#!'' and contains the string, ``ruby''. Any meaningful
switches on that line will be applied. The end of the script
must be specified with either EOF, "^D" ("control-D"), "^Z"
("control-Z"), or the reserved word __END__. If the directory
name is specified, Ruby will switch to that directory before
executing script.
-y
--yydebug
DO NOT USE.
Turns on compiler debug mode. Ruby will print a bunch of inter-
nal state messages during compilation. Only specify this switch
you are going to debug the Ruby interpreter.
--disable-FEATURE
--enable-FEATURE
Disables (or enables) the specified FEATURE .
--disable-gems
--enable-gems
Disables (or enables) RubyGems libraries. By default, Ruby will
load the latest version of each installed gem. The Gem constant
is true if RubyGems is enabled, false if otherwise.
--disable-rubyopt
--enable-rubyopt
Ignores (or considers) the RUBYOPT environment variable. By
default, Ruby considers the variable.
--disable-all
--enable-all
Disables (or enables) all features.
--dump=target
DO NOT USE.
Prints the specified target. target can be one of;
insns disassembled instructions
Only specify this switch if you are going to debug the Ruby
interpreter.
--verbose
Enables verbose mode without printing version message at the
beginning. It sets the "$VERBOSE" variable to true. If this
switch is given, and no other switches are present, Ruby quits
after printing its version.
执行 Ruby 脚本:
ruby script.rb
ruby 在命令行中执行单个 Ruby 命令:
ruby -e command
ruby 检查给定 Ruby 脚本的语法错误:
ruby -c script.rb
ruby 在当前目录的 8080 端口启动内置 HTTP 服务器:
ruby -run -e httpd
ruby 在本地执行 Ruby 二进制文件而不安装它所依赖的所需库:
ruby -I path/to/library_folder -r library_require_name path/to/bin_folder/bin_name
显示您正在使用的 Ruby 版本:
ruby -v