!Mac OS X-10.15.7!ruby-2.7.1p83
Have them remember shell, emacs, and ruby at once. This is so that you can realize how useful the language ruby is in the environment of shell. Also, by knowing the uniformity of key binding between emacs and shell, we want to understand why the work efficiency of expert programmers is good.
The structure of this text is
It is. If you proceed according to each description, you should be able to understand the contents.
Here, please devise something to remember.
--Same configuration for easy reference ――Add a wording that explains the content in an easy-to-understand manner ――The detailed solution may be confusing, but I am conscious of test-driven. --Please include your own answers and evaluate your performance ――Please look up the contents and words you do not understand and add them to the text. ――Let's format and output the next week. Then you will have your own text.
This text distinguishes between shell input and source code typing in emacs.
> cat hello.rb
Like this, adding command prompt (>) is intended for shell input. The output is usually plain text,
puts "Hello world."
With that feeling, it is output like ruby's source code.
puts hello_world
First of all, hello \ _world.
Hello world.
I will make a program to launch.
There are several ways to get Strings in ruby. You can use any of them, and rubyist will use all depending on the situation.
method | Status of use |
---|---|
Use it normally. Line break required | |
puts | Then use it normally.Automatic line break |
p | When debug launches instead during coding |
pp | p pretty print, require 'pp'Is necessary |
printf | There is c. Useful when adjusting the format |
There are many others, but let's remember this first.
There are two types of String, one is enclosed in single quotation marks and the other is enclosed in double quotation marks. Singles are when you don't mess with the contents, and doubles are when you mess around. We'll see this later.
First, enclose it in a single
puts 'hello world'
Let's try.
> mkdir codes
> cd codes
> emacs puts_hello_world.rb
Open emacs as and type in code. Save with c-x c-s, pause with c-z,
> ruby puts_hello_world.rb
Please run as. moved?
puts 'hello world'
Please try p and print. Observe the difference, comment with # and write in p \ _print \ _hello \ _world.rb.
# start here for p and pp
p
pp
> ruby hello_name.rb Rudy
When I typed in
Hello Rudy.
Write the code that returns.
If you puts, it's usually gets, but in the shell environment, which is one of the purposes, we use ARGV [0] to work with the command line interface.
puts ARGV[0]
And type in hello \ _name.rb
> ruby hello_name.rb Rudy
Please. How about? Did your dog's name come out?
puts ARGV[0]
ARGV [0] means the 0th of the argument array. On unix shell, it is normal to pass an argument such as option directly to command. For that reason, ARGV is usually prepared.
Next, think about making "Hello Rudy." There are several ways to do this. Please try this as well.
puts | puts "Hello " + ARGV[0] |
---|---|
puts | puts "Hello #{ARGV[0]}" |
print "Hello #{ARGV[0]}\n" | |
print "Hello " + ARGV[0] + "\n" |
For those from C, there is also printf.
printf("Hello %s.\n", ARGV[0])
But once you get used to it, it's redundant and you won't use it anymore. Perhaps it is used only when you want to align the output format of numerical calculation.
First, let's make it work.
> ruby hello_name.rb Rudy
Rudy
Are you returning? Change this.
> ps
Check the state of emacs now, and start it with fg or emacs hell \ _name.rb.
puts "Hello #{ARGV[0]}"
Is often used in these situations. Are you doing it properly?
Next, consider saving "Hello Rudy." Somewhere.
ruby hello_name.rb bob > hello_name.txt
Please output a greeting to yourself in hello \ _name.txt. Ruby
Hello bob.
Or something. '>' Is a shell function that re-directs the output destination to the specified txt.
cat hello_name.txt
You can cat (con-cat-inate) the contents with.