Skip to content

Instantly share code, notes, and snippets.

View xtetsuji's full-sized avatar

OGATA Tetsuji xtetsuji

View GitHub Profile
@xtetsuji
xtetsuji / kadai-20190512.md
Created May 13, 2019 05:47
2019/05/12 ピザ会の課題

2019/05/12 ピザ会の課題

正弦波 y = sin(x) を書く

参考例

  • 0.05秒に1回プロットする
  • x は 0 から pi/10 ずつ増えていく
  • sin(x) は -1 から 1 までの値を取るので、10倍して +10 すると 0 から 20 までの値となる。これの整数部分の個数 "*" を描く
    • int( 10 * sin ( $x ) + 10 )
@xtetsuji
xtetsuji / kanji-numerals-re.pl
Last active June 16, 2019 06:01
match regular expression of 1..99 kanji numerals
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
# 漢数字 1..9 の一文字 (need: use utf8)
my $kd_re = qr/[一二三四五六七八九]/;
# 1..99 の漢数字表現
my $kanji_numerals_re = qr{
@xtetsuji
xtetsuji / guess-ad-year.pl
Created April 13, 2019 10:13
Perl入学式 第1回 ピザ会 課題 2019/04/13
#!/usr/bin/perl
# guess-ad-year.pl - 和暦を引数に与えると西暦年を応えてくれる
# ad は A.D. (Anno Domini = 西暦年) の略
#
# 例:
# guess-ad-year.pl 平成30年
# 2018年
# guess-ad-year.pl 昭和54年
# 1979年
@xtetsuji
xtetsuji / suggest-two-kanjis.pl
Last active March 31, 2019 10:48
Perl kanji processing.
#!/usr/bin/perl
# see: http://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/cjku_klist.html
use strict;
use warnings;
use utf8;
binmode STDOUT, ':utf8';
# ほぼ Unicode 全漢字を集める
my ($start, $end) = (0x4E00, 0x9FAF);
@xtetsuji
xtetsuji / fib2.pl
Last active March 22, 2019 09:47
samples for getting Fibonacci function from closure function.
#!/usr/bin/perl
use strict;
use warnings;
sub get_fib_with_initvals {
my ($first, $second) = @_;
# Perl の代入は右結合なので、 my $fib = sub { ... } で右辺に $fib があってはいけない。
# この場合、宣言と代入を分けて書く必要がある
my $fib;
@xtetsuji
xtetsuji / inurl
Created March 18, 2019 07:49
inurl - open URLs in the default browser, URLs are choiced from STDIN by peco
#!/usr/bin/env perl
# 2019/03/14
# inurl - 標準入力を peco に渡して、URL がある行を選択するとその URL をブラウザで開く
use strict;
use warnings;
use IPC::Open2;
my (@url, $child_out, $child_in);
open2 $child_out, $child_in, 'peco';
@xtetsuji
xtetsuji / backup-clipboard.pl
Created February 22, 2019 07:39
Clipboard contained markdown dumper for backup
#!/usr/bin/env perl
# backup-clipboard.pl
# 実行するとクリップボードを監視して、対象とする Markdown だと思ったら
# 雑に /tmp 以下にダンプする
use strict;
use warnings;
use AnyEvent;
use AnyEvent::Mac::Pasteboard;
@xtetsuji
xtetsuji / redmine-wiki.pl
Created February 15, 2019 02:42
Redmine wiki very simple access command line utility
#!/usr/bin/env perl
use v5.14;
use strict;
use warnings;
use utf8;
binmode 'STDOUT', ':utf8';
# JSON::PP はバイト列ではなく内部文字を返すので decode が必要
# ただ perldoc JSON::PP を読むと枝葉が自動的に内部文字になるようにしてくれるオプションはありそう(あんまり読んでいない)
@xtetsuji
xtetsuji / dice-exp-calc.pl
Created February 14, 2019 14:53
ダイスギャンブル、乱数で総当たり版と、パターン全部から期待値洗い出し版 https://twitter.com/xtetsuji/status/1088390124751056897
#!/usr/bin/perl
# N回サイコロを振ったときの出る目の全ての場合を割り出して期待値を計算する
use strict;
use warnings;
use List::Util qw(sum);
use constant BONUS_TRIO1 => 10_000;
use constant BONUS_TRIO456 => 2_000;
use constant DEBUG => $ENV{DEBUG};
@xtetsuji
xtetsuji / factor-output-more.txt
Last active October 9, 2018 15:47
Is 333...31 prime? Easy shell one-liner checker.
$ perl -e 'for (1..50) { my $n = "3" x $_ . "1"; system "factor", $n; }'
31: 31
331: 331
3331: 3331
33331: 33331
333331: 333331
3333331: 3333331
33333331: 33333331
333333331: 17 19607843
3333333331: 673 4952947