Skip to content

Instantly share code, notes, and snippets.

View s-hiiragi's full-sized avatar

s_hiiragi s-hiiragi

View GitHub Profile
@s-hiiragi
s-hiiragi / print_attrs.py
Created September 19, 2022 17:16
オブジェクトのメソッドとプロパティを継承元ごとに表示
def print_attrs(value):
from functools import reduce
mro = type(value).mro()
attrsets = [set(dir(x)) for x in mro] + [set()]
ownattrsets = [x - attrsets[i+1] for i,x in enumerate(attrsets) if i < len(mro)]
for type_, ownattrset in zip(mro, ownattrsets):
print(type_.__name__)
print(' ', list(ownattrset))
@s-hiiragi
s-hiiragi / bookmarklet-amazon-orders.js
Last active September 10, 2022 21:01
Amazonの注文履歴を取得するブックマークレット
javascript:(()=>{
const orders = Array.from(document.querySelectorAll('#ordersContainer > .order'));
let records = orders.flatMap(order => {
const id = order.querySelector('.yohtmlc-order-id .value').textContent.trim();
const date = order.querySelector('.a-span3 .value').textContent.trim();
const total = order.querySelector('.yohtmlc-order-total .value').textContent.trim();
const itemTitles = Array.from(
order.querySelectorAll('.yohtmlc-item > .a-row:nth-child(1)')).
map(e => e.textContent.trim());
@s-hiiragi
s-hiiragi / HSPの演算子の優先順位.md
Created January 14, 2022 17:32
HSPの演算子の優先順位

HSPの演算子の優先順位

演算子の一覧

演算子 種類
+,-,*,/ 加算,減算,乗算,除算
&,|,^ 論理演算(and,or,xor)
\ 割り算の余り
=,<,>,! 条件式(同じ,小さい,大きい,同じでない)
@s-hiiragi
s-hiiragi / while_and_for.hsp
Created January 6, 2022 03:59
break/continueを使えるwhile/for
#define global _while(%1) repeat : if (%1) == 0 : break
#define global _for(%1,%2=0,%3=0,%4=1) %1=(%2) %c repeat %c if cnt {%1+=(%4)} %c if (%1) == (%3) {break}
mes "break/continueを使えるwhileのサンプル"
i = 0
_while i < 4
mes i
i++
loop
@s-hiiragi
s-hiiragi / main.py
Created December 28, 2021 16:06
(Python) コマンドライン引数からログ出力レベルを変更するサンプル
# usage:
# python main.py --loglevel <level>
#
# level:
# CRITICAL
# ERROR
# WARNING
# INFO
# DEBUG
@s-hiiragi
s-hiiragi / conf.json
Created December 28, 2021 15:39
(Python) 外部ファイルからログレベルを変更するサンプル
{
"version": 1,
"disable_existing_loggers": false,
"formatters": {
"default": {
"format": "%(levelname)s:%(name)s:%(message)s"
}
},
"handlers": {
"console": {
@s-hiiragi
s-hiiragi / iterate_through_table_containing_merged_cells.bas
Created December 15, 2021 13:44
Iterate through a table containing merged cells
Sub IterateThroughTableContainingMergedCells()
Dim t As Table
Dim i As Long
Dim j As Long
For i = 1 To ActiveDocument.Tables.Count
Set t = ActiveDocument.Tables(i)
Debug.Print "Table(" & i & "): rows=" & t.Rows.Count & ", columns=" & t.Columns.Count
@s-hiiragi
s-hiiragi / busybox.cmd
Created September 13, 2021 21:40
busybox-w32のパスを通すコマンド
@echo off
if "%~1" == "addpath" goto ADDPATH
if "%~1" == "help" goto HELP
if "%~1" == "-h" goto HELP
if "%~1" == "--help" goto HELP
if "%~1" == "/?" goto HELP
if "%~1" == "-?" goto HELP
goto :EOF
@s-hiiragi
s-hiiragi / gomibako.bat
Created September 13, 2021 21:19
ごみ箱を開くバッチファイル
@explorer shell:RecycleBinFolder
@s-hiiragi
s-hiiragi / jump_to_sheet.bas
Created October 1, 2020 13:14
指定したシートにジャンプするExcel VBAマクロ
Sub 指定したシートにジャンプ()
Dim SheetPattern As String
Dim s As Variant
SheetPattern = LCase(InputBox("シート名を入力", "指定したシートにジャンプ", ""))
If SheetPattern = "" Then
Exit Sub
End If
For Each s In ActiveWorkbook.Sheets