Skip to content

Instantly share code, notes, and snippets.

@espio999
espio999 / pattern_matching_with_type_annotation.fsx
Created July 1, 2024 12:41
F# pattern matching - type annotation
let detect1 x =
match x with
| 1 -> printfn "Found a 1!"
| (var1 : int) -> printfn "%d" var1
let my_list = [0..9]
for i in my_list do detect1 i
@espio999
espio999 / pattern_matching_practical_shorter.fsx
Last active July 1, 2024 12:44
F# pattern matching - identifier pattern for practical purpose - shorter
type Money = Money of decimal
let calcTax (Money price) = Money (price * 0.1m)
let p = Money 100m
calcTax p |> printfn "%A"
@espio999
espio999 / pattern_matching_understanding_shorter.fsx
Last active July 1, 2024 12:44
F# pattern matching - identifier pattern for understanding - shorter
type TypeMoney = CaseMoney of decimal
let calcTax (CaseMoney price) = CaseMoney (price * 0.1m)
let p = CaseMoney 100m
calcTax p |> printfn "%A"
@espio999
espio999 / pattern_matching_understanding.fsx
Last active July 1, 2024 12:43
F# pattern matching - identifier pattern for understanding
type TypeMoney = CaseMoney of decimal
let calcTax (param_price: TypeMoney) =
//let local_price = match param_price with CaseMoney local_p -> local_p
let local_price = match param_price with CaseMoney (local_p) -> local_p
CaseMoney (local_price * 0.1m)
let p = CaseMoney 100m
calcTax p |> printfn "%A"
@espio999
espio999 / pattern_matching_practical.fsx
Last active July 1, 2024 12:43
F# pattern matching - identifier pattern for practical purpose
type Money = Money of decimal
let calcTax (price: Money) =
let price = match price with Money p -> p
Money (price * 0.1m)
let p = Money 100m
calcTax p |> printfn "%A"
@espio999
espio999 / chatLZMA-twitter.py
Created September 2, 2023 14:51
chatLZMA-Twitter
import json
import lzma
import nltk
import random
nltk.download('twitter_samples')
my_filters = [
{"id": lzma.FILTER_LZMA2, "preset": 9 | lzma.PRESET_EXTREME},
]
@espio999
espio999 / chatLZMA.py
Created September 2, 2023 14:50
chatLZMA
import lzma
import nltk
import random
nltk.download('reuters')
nltk.download('brown')
nltk.download('gutenberg')
my_filters = [
{"id": lzma.FILTER_LZMA2, "preset": 9 | lzma.PRESET_EXTREME},
@espio999
espio999 / onenote-export.ps1
Created May 27, 2023 07:21
Export OneNote item as docx file and convert it to markdown with pandoc
$OneNote = New-Object -ComObject OneNote.Application
Add-Type -assembly Microsoft.Office.Interop.OneNote
$target_id = "{A969C2B3-B790-0EDD-2E5A-9D834611888C}{1}{E1950583228671326940781911959017434812881141}"
$publish_path = "G:\work\onenote\export.docx"
$pandoc_path = "p:\myapp\pandoc-3.1.2"
$markdown_path = "G:\work\onenote\export.md"
$OneNote.Publish(
@espio999
espio999 / onenote-makecsv.ps1
Last active May 27, 2023 07:02
Print OneNote data items as CSV
function makeCSV($hierarchy, $node_depth){
$data = @()
foreach ($item in $hierarchy.ChildNodes){
$data += makeCSVitem $node_depth $item
}
return $data
}
@espio999
espio999 / onenote-printall.ps1
Last active May 27, 2023 06:39
Print OneNote structure
function printAll($hierarchy, $indent_level){
foreach ($item in $hierarchy.ChildNodes){
printName $item $indent_level $False
}
}
function printName($items, [int]$indent_level, [bool]$printID){
$indent = "`t" * $indent_level
foreach($item in $items){