開発環境
- macOS Sierra - Apple (OS)
- Emacs (Text Editor)
- Perl 6 (プログラミング言語)
- Rakudo(コンパイラ、実装)
Think Perl 6: How to Think Like a Computer Scientist (Laurent Rosenfeld(著)、Allen B. Downey(著)、Oreilly & Associates Inc)のPart 1(Starting with the basics)、Chapter 2(Variables, expressions and statements)のExercises 2-1、2.を取り組んでみる。
Exercises 2-1、2.
コード(Emacs)
#!/usr/bin/env perl6 # -*- coding: utf-8 -*- # 1. my $r = 5; my $volume = 4 / 3 * pi * $r ** 3; say $volume; # 2. my $price = 24.95; my $discount = 1 - 0.4; my $shipping = 3; my $shippings = 0.75; my $copies = 60; say $price * $discount * $copies + $shipping + $shippings * ($copies - 1); # 3 my $easy = 8 * 60 + 15; my $temp = 7 * 60 + 12; my $total = $easy * 1 + $temp * 3 + $easy; my $seconds = (6 * 60 + 52) * 60 + $total; my $hours = $seconds div 60 div 60; my $minutes = ($seconds - ($hours * 60 * 60)) div 60; say $hours, ':', $minutes, ' am';
入出力結果(Terminal, REPL)
$ perl6 You may want to `zef install Readline` or `zef install Linenoise` or use rlwrap for a line editor To exit type 'exit' or '^D' > 42 = $n; ===SORRY!=== Error while compiling: Variable '$n' is not declared ------> 42 = ⏏$n; > $x = $y = 1; ===SORRY!=== Error while compiling: Variable '$x' is not declared ------> <BOL>⏏$x = $y = 1; > my $x = $y = 1; ===SORRY!=== Error while compiling: Variable '$y' is not declared ------> my $x = ⏏$y = 1; > my $x = my $y = 1; 1 > $x 1 > $y 1 > my ($x, $y) = 1, 1 (1 1) > x ===SORRY!=== Error while compiling: Undeclared routine: x used at line 1 > $x 1 > $y 1 > my ($z, $a) = 1, 1 (1 1) > $z 1 > $a 1 > my $b = 1. ===SORRY!=== Decimal point must be followed by digit ------> my $b = 1.⏏<EOL> Unsupported use of . to concatenate strings; in Perl 6 please use ~ at line 2 ------> <BOL>⏏<EOL> > my $b = 1;. ===SORRY!=== Error while compiling: Unsupported use of . to concatenate strings; in Perl 6 please use ~ at line 2 ------> <BOL>⏏<EOL> > my $b = 1; 1 > $x$y ===SORRY!=== Error while compiling: Two terms in a row ------> $x⏏$y expecting any of: infix infix stopper statement end statement modifier statement modifier loop > $ ./sample1.pl 523.598775598299 945.45 7:30 am $
0 コメント:
コメントを投稿