[過去ログ] プログラミングのお題スレ Part15 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
534
(1): 2019/09/22(日)08:57 ID:yY5QhyPL(1) AAS
>>533
ruby知らんけどそのfって何?
535
(1): 2019/09/22(日)09:05 ID:8u0YwnlN(1) AAS
ラムダ式じゃねーの
おれもruby知らんが
536: 2019/09/22(日)09:16 ID:W3ewN8v1(1/4) AAS
(dolist (n (list 1 2 3 11 12 13 21 22 23 101 102 103 111 112 113 121 122 123) ) (format t "~:R~%" n))
first
second
third
eleventh
twelfth
thirteenth
twenty-first
twenty-second
twenty-third
省9
537: 2019/09/22(日)09:21 ID:uuB9aO9i(2/2) AAS
>>534-535
ラムダ式.
任意の自然数 n に対して次の式は n の序数詞の末尾が th なら 0, st なら 1, nd なら 2, rd なら 3 を返す.(除算は切り捨て)
(-(-((n - 10) / 10 % 10) / 9)) * 41 / (n % 10 * 10 + 11) * (n % 10)
538: 2019/09/22(日)10:14 ID:UtdvR7ZT(1) AAS
>>514 Lua
function f(n)
   local r,x
   x=n%10
   if n%100-x==10 or x<1 or x>3 then
   r="th"
   else
   r=({"st","nd","rd"})[x]
   end
   return n..r
省1
539: 2019/09/22(日)11:43 ID:OEThTvH6(1/2) AAS
>>514 JavaScript
const f=n=>n+=[,'st','nd','rd'][n%100>>3^1&&n%10]||'th'
実行結果略
540: 2019/09/22(日)11:51 ID:OEThTvH6(2/2) AAS
>>522 >>521 JavaScript
const isValid = seireki => {
let check
try {
check = new Intl
.DateTimeFormat('ja-JP', {year: 'numeric', month: '2-digit', day: '2-digit'})
.format(new Date(seireki))
} catch (e) { return false }
return seireki === check ? true : false
}
省22
541
(3): 2019/09/22(日)14:55 ID:yzO2ACAf(1/4) AAS
>>521-523 Perl5

use Time::Piece; #use Data::Dump 'dump';
@fy = (['2019/05/01', '令和'], ['1989/01/08', '平成'], ['1926/12/25', '昭和'], ['1912/07/30', '大正']);
$$_[0] = Time::Piece->strptime($$_[0], '%Y/%m/%d') for @fy;
for (qw{1970/01/05 1990/12/31 2019/04/28 2019/05/01 1920/02/29 1912/07/29 2019/02/29}) {
 my ($t, $t0, $era, $nen);
 eval {$t = Time::Piece->strptime($_, '%Y/%m/%d')};
 if ($t and $t->strftime('%Y/%m/%d') eq $_) {
  do {($t0, $era) = @$_, last if $$_[0] <= $t} for @fy;
  if ($t0) {
省19
542: 2019/09/22(日)14:59 ID:yzO2ACAf(2/4) AAS
>>541
一行目のコメント
#use Data::Dump 'dump';
はdebugの際に使ったstatementの消し忘れにつき、不要
543: 2019/09/22(日)15:13 ID:yzO2ACAf(3/4) AAS
>>541
$nen = ($y = $t->year - $t0->year, $y ? $y + 1 : '元').'年' if $t0;
の「 if $t0」も削除し忘れだな、ゴメンチャイ
544
(1): 2019/09/22(日)16:19 ID:iYBBHKU1(1) AAS
https://github.com/systemd/systemd/blob/82d1264048a3768fb8238387810f78c5d3912058/src/journal/journalctl.c#L2405-L2461
このif elseの羅列をリファクタリングしてください(´・ω・`)
545: 2019/09/22(日)17:24 ID:W3ewN8v1(2/4) AAS
無駄に否定演算子で分かりにくくしている
if (!arg_reverse)
r = sd_journal_next_skip(j, 1 + after_cursor);
else
r = sd_journal_previous_skip(j, 1 + after_cursor);
546: 2019/09/22(日)17:45 ID:vTpi5vA1(1) AAS
>>544
http://hengband.es.land.to/hengband-1.7.0-svn/

このあたりのspells1.cのproject_fのほうが豪華だよ
547: 2019/09/22(日)18:17 ID:yzO2ACAf(4/4) AAS
>>521 Perl5 >>541 を少しコンパクトにしてみた

use Time::Piece;
@fy = (['2019/05/01','令和'],['1989/01/08','平成'],['1926/12/25','昭和'],['1912/07/30','大正']);
$$_[0] = Time::Piece->strptime($$_[0], '%Y/%m/%d') for @fy;
for (qw{1970/01/05 1990/12/31 2019/04/28 2019/05/01 1920/02/29 1912/07/29 2019/02/29}) {
 my ($t, $t0, $era, $nen);
 eval {$t = Time::Piece->strptime($_, '%Y/%m/%d')};
 $s = 'Invalid';
 if ($t and $t->strftime('%Y/%m/%d') eq $_) {
  do {($t0, $era) = @$_, last if $$_[0] <= $t} for @fy;
省8
548
(7): 蟻人間 ◆T6xkBnTXz7B0 2019/09/22(日)20:58 ID:Pb++lLAf(1/2) AAS
お題: マイドキュメントにある全てのファイルの更新日時を取得し、曜日ごとに平均時刻を集計せよ。
549: 2019/09/22(日)21:11 ID:PDMeYfrK(1) AAS
マイドキュメントがなかった
550
(2): 蟻人間 ◆T6xkBnTXz7B0 2019/09/22(日)21:23 ID:Pb++lLAf(2/2) AAS
お題: あるフォルダにある全てのファイルの更新日時を全て同じ日時にリセットせよ。
551: 2019/09/22(日)21:30 ID:WdPSTicU(1) AAS
>>521-523 ruby 2.5.5
https://ideone.com/RLhbll
・令和対応はRuby 2.6.3から
552: 蟻人間 ◆T6xkBnTXz7B0 2019/09/22(日)21:35 ID:rZK31NHQ(1/5) AAS
※未来の日時にするとMakefileなどで不具合の原因になるかもしれないので、やめよう。必ず過去の日付で。
553
(1): 2019/09/22(日)21:40 ID:2VFOPinw(1) AAS
>>1
◆T6も書き込み禁止
1-
あと 449 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s