パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Perlのチートシートを作ってテストを受ける

2021-10-31 | 速攻で言語マスターしてみませんか

Perlは遠い昔、たぶん日本一有名な製作所でグループ企業160社ぐらい用の

アンケートサイトを秋葉原で作った記憶があります。

 

チートシートをまず作成。 a..z でアルファベットができるのは面白い。

 

チュートリアルの記録。とくにはまることもなくこの時は完全に油断していました。

テストは3問

フタひねりある問題が続いて苦戦。Python3ならひとひねりなんですが、Perlだと常にきれいにはまる。

チートシートが足りてなくググりましたが、焦っていたせいか全然みつからず。

ベタに作って1問だけクリア、あとはひとひねり分ぐらまでテストケース消化

100点満点で52点どまり。 

文字列比較 eq でしたか。ハマりました。

 

平たい版

use strict;

use warnings;
#use diagnostics;
use 5.32.1;
sub rev { # 配列を反転させる関数
my@list = @_;
my@r = ();
for (my$i = (@list+0)-1; $i >= 0; $i--) {
push(@r, $list[$i]);
}
return@r;
}
print "<文字列>\n"; #表示
print uc("aaa").lc("ZZZ")."\n"; # "."文字列連結 大文字化 小文字化
my $k = "\n";
print substr("abcdef",1,2).$k; # 抽出
print (("3" + 4)."7".$k); # "+"で数値化、"."で文字列化
my $s = "hello";
$s =~ s/hello/world/g; # 置換
print $s . index($s, "o") . $k; # 検索
print length("12345").$k; # 長さ
my @list = split(/ /, "aa bb cc"); # 分割
print $list[1].$k;
print ("a".."z"); # ".."補間
print "\n<数値>\n";
print abs(-5).$k; # 絶対値
print ((5 % 3).$k); # 余り
print(sprintf("%b", 255).$k); # 10 -> 2
print(sprintf("%x", 255).$k); # 10 -> 16
print(oct('0b' . "1111").$k); # 2 -> 10
print(hex("FFF").$k); # 16 -> 10
print "<配列>\n";
my @list2 =(3,1,2); # 定義 @
push(@list2, 0); # 追加
@list2 = sort {$a <=> $b} @list2; # ソート
print $list2[-2].$list2[-1].$k; # 取得 @より$がいいらしい
print ((@list2+0).$k); # 長さ @listを数値に代入すると長さに +0で数値化
foreach (@list){ # 配列のループ
print"$_".$k;
}
my @rev = rev(@list);
print @rev;

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。