Luajit - Nvim Lsp Config

์†Œ๊ฐœ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ(Alpine Linux)์—์„œ lua-language-server ์„ค์น˜ํ•˜๊ณ  nvim์—์„œ ์„ค์ • ๋ฐ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด ๋ณธ๋‹ค. alpine 3.2x ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•œ๋‹ค. ๊ณผ๊ฑฐ alpine ๋ฒ„์ „๋“ค์€ lua-language-server๊ฐ€ ์—†๊ฑฐ๋‚˜ nvim์˜ ๋ฒ„์ „์ด ๋‚ฎ์•„ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ง€์›์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ํ˜„์žฌ ์‹œ์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋ชจ๋‘ ์ ์ ˆํ•œ ๋ฒ„์ „์„ ์ง€์›ํ•˜๊ณ  ํŒจํ‚ค์ง€๋„ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์†Œ์Šค ์ปดํŒŒ์ผ ๋“ฑ์˜ ๋ถ€๋‹ด์ด ์—†์–ด์กŒ๋‹ค. ์„ค์น˜ luajit๋ฐ lua-language-server ๊ทธ๋ฆฌ๊ณ  neovim๊ด€๋ จ ํŒจํ‚ค์ง€ ์„ค์น˜ ์•„๋ž˜์˜ ๊ฒฝ์šฐ nvim(neovim) ์„ค์น˜์‹œ lfs.so,penlight๋“ฑ์ด ๊ธฐ๋ณธ ํฌํ•จํ•˜๊ฒŒ ๋œ๋‹ค. (์ถ”๊ฐ€ ์„ค์น˜ ๋ถˆํ•„์š”) apk add --no-cache luajit luajit-dev lua-language-server ldoc apk add --no-cache neovim neovim-doc nvim-treesitter \ tree-sitter tree-sitter-cli tree-sitter-lua tree-sitter-bash \ tree-sitter-c tree-sitter-markdown tree-sitter-vimdoc ์„ค์ • ~/.config/nvim/init.lua์— ๋‹ค์Œ ์„ค์ •์„ ์ถ”๊ฐ€ my_project_path๋Š” ๊ฐœ๋ณ„ ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค. workspace์˜ library ๋ฒ”์œ„๊ฐ€ ํฌ๋ฉด ๋ถ€ํ•˜๊ฐ€ ์ปค์ง€๋ฏ€๋กœ ์ ๋‹นํžˆ ์กฐ์ ˆํ•ด ์ฃผ์–ด์•ผ nvim์—์„œ ๋ฌด๋ฆฌ๊ฐ€ ์—†๋‹ค. ์•„๋ž˜ ์ฃผ์„ ํ‘œ์‹œ๋œ ๋ถ€๋ถ„์„ ์ฃผ์˜ํ•ด์„œ ํ™•์ธํ•˜๊ณ  ์ž์‹ ์—๊ฒŒ ๋งž๋Š” ํ™˜๊ฒฝ์„ ์„ค์ •ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ณผ๊ฑฐ sumneko๋ผ๋Š” ์‹์œผ๋กœ ์„ค์ •ํ–ˆ๋Š”๋ฐ ํ˜„์žฌ lspconfig.lua_ls.setup์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค. -- Now set capabilities on your LSP servers local lspconfig = require'lspconfig' local my_project_path = os.getenv('HOME') .. '/.local/lib/lua' print(my_project_path) lspconfig.lua_ls.setup { --capabilities = capabilities, root_dir = lspconfig.util.root_pattern(".git", ".luarc.json", ".luarc.js"), settings = { Lua = { runtime = { version = 'Luajit', path = vim.split(package.path, ";"), }, diagnostics = { globals = {'vim'}, update_in_insert = false, }, workspace = { library = { --// ๊ธฐ๋ณธ vim ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ ๋ชจ๋“ˆ ์ถ”๊ฐ€ [vim.env.VIMRUNTIME] = true, --// ๋ชจ๋“  vim์˜ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ ๋ชจ๋“ˆ ์ถ”๊ฐ€ --[vim.api.nvim_get_runtime_file("", true)] = true, --// my project ๋ชจ๋“ˆ ์ถ”๊ฐ€ [vim.fn.expand(my_project_path)] = true, }, --// ์ œ3์˜ ๋ชจ๋“ˆ ์ œ์™ธ checkThirdParty = false, }, telemetry = { enable = false, }, }, }, } ์ฐธ๊ณ  lua-language-server - Getting Started https://github.com/sumneko/lua-language-server/wiki/Getting-Started#command-line

2025-07-27 ยท 241 words

Lua Batteries - ๋ฃจ์•„ ๋ฒ ํ„ฐ๋ฆฌ ํ™•์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

lua - batteries lua ํ™•์žฅ ๋ฒ ํ„ฐ๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณธ๋‹ค. Lua Fun 2100stars https://github.com/luafun/luafun High-performance functional programming library designed for Luajit 3๋‹ฌ์ „ Basic Functions Generators Slicing Indexing Filtering Reducing Transformations Compositions Operators Moses 634stars https://github.com/Yonaba/Moses Utility library for functional programming in Lua fun๊ณผ ์œ ์‚ฌํ•˜๋‚˜ ๋” ๋งŽ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๋“ฏ, moses.lua ํŒŒ์ผ ํ•˜๋‚˜. 6๋…„์ „ Table, Array, Utility, Object, Chaining, Import lua-stdlib 289stars https://github.com/lua-stdlib/lua-stdlib document - https://lua-stdlib.github.io/lua-stdlib/ 8๋…„์ „ modules(std) - debug, functional, io, math, operator, package, strict, string, table Classes - tree, container, object, list, optparse, set, strbuf Microlight 169stars https://github.com/stevedonovan/Microlight ๋ง ๊ทธ๋Œ€๋กœ ๊ฒฝ๋Ÿ‰ penlight, ๋‹ฌ๋ž‘ ml.lua ํŒŒ์ผ ํ•˜๋‚˜ 13๋…„์ „ Strings - tstring, table.concat, table.split, expand, escape Files and Paths - access, exist, readfile, splitpath, splitext Inserting and Extendig - update, extend, insertvalues, import Extracting and Mapping - sub, indexby, imap, indexof, ifind, ifilter, imapfilter, collect, removerange Sets and Maps - indexof, invert, issubset, makemap Higher-order Functions - compose, bind1, bind2 Classes Array Class Experiments Penlight 371stars https://github.com/lunarmodules/Penlight Python์—์„œ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์œ ์‚ฌํ•œ ํƒ€์ž…์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค. 3 month ๊ณ„์† ์—…๋ฐ์ดํŠธ ๋ฐ ๊ฐœ์„  Paths, Files and Directories - path, isdir, isfile, exists, dirname, basename - dir, getfiles, getallfiles - file: copy, move, read, write Application Support - app, lapp, config, strict, utils, compat, types Extra String Operations - utils, stringx, stringio, lexer, text, template, sip Extra Table Operations - tablex, pretty, List, Map, Set, OrderMap, data, array2d, permute Iterators, OOP and Functional - seq, class, func, utils, compression Batteries for Lua https://github.com/1bardesign/batteries love์— ํŠนํ™”๋œ ํ™•์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋ฒ”์šฉ์œผ๋กœ ์‚ฌ์šฉํ•ด๋„ ๋ฌธ์ œ ์—†๋‹ค. ๋”๊ตฌ๋‚˜ Penlight๋ณด๋‹ค ๊ฒฝ๋Ÿ‰์ด๊ณ  ๋น ๋ฅด๋‹ค. Lua Core Extensions - mathx, tablex, stringx General Utility - class, functional, sequence, set, sort, state_machine, timer, pubsub, pretty Geometry - intersect, vec2, vec3 Special Interest - async, colour(color), manual_gc, measure, make_pooled

2025-07-18 ยท 283 words

gsl-shell - Luajit GNU Scientific Library Shell

Intro gsl-shell์€ GSL(GNU Scientific Library์— luajit์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค. ๋งคํŠธ๋ฆญ์Šค, ๋ฒกํ„ฐ ๋ฐ ์—ฌ๋Ÿฌ ํ•จ์ˆ˜ ๋“ฑ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๋Ÿฌ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ์ถœ๋ ฅ์„ ์ง€์›ํ•œ๋‹ค. luajit + ์ถ”๊ฐ€ ํ•จ์ˆ˜ ๋ฐ ๋ช…๋ น์–ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ๋น„์Šทํ•œ ๋‹ค๋ฅธ ๋„๊ตฌ ์ค‘์— ๋งค์šฐ ์šฐ์ˆ˜ํ•œ ์—ฐ์‚ฐ ๋Šฅ๋ ฅ๊ณผ ์†๋„๋ฅผ ์ž๋ž‘ํ•œ๋‹ค. Install ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์ง์ ‘ ๋นŒ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜ ๊นƒํ—ˆ๋ธŒ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค. ๋ฐ๋น„์•ˆ, ์šฐ๋ถ„ํˆฌ์—์„œ๋Š” GSL์™ธ์— gsl-shell์€ ํŒจํ‚ค์ง€๊ฐ€ ์—†๋‹ค. ์ฒ˜์Œ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋นŒ๋“œ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๋‹ค์šด๋กœ๋“œ ๋ฆด๋ฆฌ์ฆˆ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์œผ๋‹ˆ ์„ค๋ช…์„ ์ฐธ๊ณ ํ•ด์„œ ์ ํ•ฉํ•œ ๊ฒƒ์œผ๋กœ ๋‚ด๋ ค๋ฐ›๋Š”๋‹ค. $ sudo apt install libgsl27 libgslcblas0 $ wget https://github.com/franko/gsl-shell/releases/download/v2.3.4/gsl-shell-dynamic-linux-x86-64.tar.gz $ tar xvfz gsl-shell-dynamic-linux-x86-64.tar.gz $ ls gsl-shell $ export PATH=$PATH:$HOME/gsl-shell/bin # ~/.bashrc์— ์ถ”๊ฐ€ ๋“ฑ๋ก $ gsl-shell # ์‹คํ–‰ GSL Shell 2.3.4 -- Copyright (C) 2009-2022 Francesco Abbate GNU Scientific Library -- Copyright (C) The GSL Team LuaJIT 2.0.5 -- Copyright (C) 2005-2022 Mike Pall. https://luajit.org/ JIT: ON CMOV SSE2 SSE3 SSE4.1 AMD fold cse dce fwd dse narrow loop abc sink fuse > # ๋‚˜๊ฐ€๊ธฐ(Ctrl+d) $ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• ๋Œ€ํ™”์‹์ด ์•„๋‹Œ ์†Œ์Šค๋ฅผ ์ž‘์„ฑํ•ด์„œ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ ์•„๋ž˜ ๋ฐฉ๋ฒ•์™ธ์— #!/usr/bin/env gsl-shell์„ ์ฒซ ์ค„์— ๋„ฃ๊ณ  chmod๋กœ ์‹คํ–‰๊ถŒํ•œ์„ ์ฃผ์–ด ์ง์ ‘ ์‹คํ–‰ํ•ด๋„ ๋œ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ํ™•์žฅ์ž๋ฅผ lua๋กœ ํ•˜๋Š” ๊ฒƒ์€ ํŽธ์ง‘๊ธฐ ๋“ฑ์—์„œ ๋ฌธ๋ฒ• ๊ฐ•์กฐ๋“ฑ์˜ ์ง€์›์„ ๋ฐ›๊ธฐ ์œ„ํ•จ๋„ ์žˆ๊ณ  lua์˜ ๋ฌธ๋ฒ•์„ ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๊ธฐ๋„ ํ•˜๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ lua๋‚˜ luajit์—์„œ๋Š” ์ •์ƒ ๋™์ž‘ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์‹๋ณ„์ด ๊ฐ€๋Šฅํ•œ ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ์ •๋ฆฌํ•ด ๋‘๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. $ gsl-shell --help $ gsl-shell # ๋Œ€ํ™”์‹ ์‚ฌ์šฉ $ gsl-shell my-program.lua # ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ์ด๋ ‡๊ฒŒ ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด ์•„๋ž˜ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉด ๋œ๋‹ค. ์ด๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”๊ฐ€๋Š” ์ž์‹ ์—๊ฒŒ ๋‹ฌ๋ ธ๋‹ค. GSL์— ์–ด๋А์ •๋„ ์•„๋Š” ์‚ฌ์šฉ์ž๋ผ๋ฉด ๋”์šฑ ์ˆ˜์›”ํ•  ๊ฒƒ์ด๋‹ค. ์ฐธ๊ณ ๋กœ ์„ค์น˜๋œ GSL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€๋„ ๋‚˜์™€ ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•œ๋‹ค. ๊ธฐํƒ€ ๋„์›€๋ง ๋ฌธ์„œ๋Œ€๋กœ use "math" ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค. gsl-shell/share/gsl-shell/import.lua ์„ ์ˆ˜์ •ํ•œ๋‹ค. ... -- ์•„๋ž˜ ๋ฌธ์žฅ์„ ์ฃผ์„์ฒ˜๋ฆฌํ•˜๊ณ  ๊ทธ ์•„๋ž˜ ๋ฌธ์žฅ์œผ๋กœ ๊ณ ์นœ๋‹ค. -- local level = getinfo(2, "") and 2 or 0 local level = 2 ๋Œ€ํ™”ํ˜• ๋ชจ๋“œ ์‚ฌ์šฉ์‹œ์— rlwrap์„ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•˜๋‹ค. ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“ˆ๊ณผ ํ•จ์ˆ˜๋ฅผ ํŽธ์ง‘๊ธฐ์—์„œ ์ž๋™์™„์„ฑ, ๊ฒ€์ƒ‰ ๋“ฑ์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ์€ ์•„์ง ๋ชจ๋ฅธ๋‹ค. ์ตœ์†Œํ•œ ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์ถ”์ถœํ•ด์„œ vim ๋“ฑ๊ณผ ์—ฐ๋™ํ•˜๊ฑฐ๋‚˜ grep์„ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ๋กœ ํ•œ๋‹ค. ๋ฌธ์„œ์ž‘์„ฑ์‹œ ์ˆ˜ํ•™์‹ ํ‘œํ˜„ ๊ด€๋ จ ํ”„๋กœ๊ทธ๋žจ(์Šคํฌ๋ฆฝํŠธ)๋ฅผ ์ž‘์„ฑํ•œ ํ›„ ๋„์›€๋ง์ด๋‚˜ ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋งˆํฌ๋‹ค์šด(markdown) ๋ฌธ์„œ์— latex ๋ฌธ๋ฒ•์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ์ฐธ์กฐํ•œ๋‹ค. ์ฆ‰, ๋ฌธ์žฅ ์ค‘์—๋Š” $์ˆ˜์‹$ ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ๋…๋ฆฝ์ ์ธ ์ˆ˜์‹์€ $$์ˆ˜์‹$$์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊นƒํ—ˆ๋ธŒ๋‚˜ ๊ธฐํƒ€ ์›นํŽ˜์ด์ง€์—์„œ ์ด๋ฅผ ์ž˜ ์ง€์›ํ•œ๋‹ค. vscode์—์„œ๋Š” markdown all in one ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•˜๋ฉด ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋กœ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  ์ˆ˜ํ•™ํ‘œํ˜„์‹๋„ ์ง€์›ํ•œ๋‹ค. vim์—์„œ๋Š” hugo๋กœ ๋กœ์ปฌ์—์„œ ์„œ๋ฒ„๋ฅผ ๋„์–ด ์‹ค์‹œ๊ฐ„ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ firefox์˜ markdown์ง€์› ๋ชจ๋“ˆ์ธ markdown viewer webtext๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹ค์‹œ๊ฐ„ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด์™€ ๊ด€๋ จ๋œ ์‚ฌํ•ญ์€ ๋‹ค๋ฅธ ๋ฌธ์„œ๋กœ ์ •๋ฆฌํ•ด ๋ณผ ์ƒ๊ฐ์ด๋‹ค. Links GSL Shell project page https://github.com/franko/gsl-shell/ GSL Documentation https://franko.github.io/gsl-shell/ Download Release https://github.com/franko/gsl-shell/releases/tag/v2.3.4

2023-02-01 ยท 405 words

Alpine - Lua Language Server Install

25-07-27: Alpine Linux 3.2x ๊ธฐ์ค€์œผ๋กœ luajit-nvim-lspconfig ์ฐธ๊ณ  23-08-08: nvim ๋ฒ„์ „์ด 3.18๋Œ€๋กœ ์˜ฌ๋ผ์˜ค๊ณ , Community Repository๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ํŒจํ‚ค์ง€๋กœ ๊ฐ„๋‹จํžˆ ์„ค์น˜ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์ตœ์ ํ™”๋‚˜ ์ปดํŒŒ์ผ ์ž์ฒด์— ์˜๋ฏธ๋ฅผ ๋‘์ง€ ์•Š๋Š”๋‹ค๋ฉด ํŒจํ‚ค์ง€๋กœ ์„ค์น˜ํ•˜์ž. PREINSTALL clang ๋ฐ luajit ๋ฐ ๊ฐœ๋ฐœ ํˆด ์„ค์น˜ ํ•„์ˆ˜: build-base, clang, clang-extra-tools(clangd), cmake, luajit, luajit-dev # apk add --no-cache build-base clang clang-extra-tools lld compiler-rt compiler-rt-static cmake git luajit luajit-dev bash bash-completion grep rlwrap bat fd curl wget rsync sqlite jq tree ninja ์„ค์น˜ - alpine 3.16.3 ํ˜„์žฌ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€ ์—†์Œ # git clone https://github.com/ninja-build/ninja && cd ninja # cmake -Bbuild-cmake # cmake --build build-cmake # ./build-cmake/ninja_test # cp ./build-cmake/ninja /usr/local/bin/ # which ninja # PATH ํ™•์ธ lua-language-server ์„ค์น˜ # cd /usr/local/ # git clone --depth=1 https://github.com/sumneko/lua-language-server # cd lua-language-server # git submodule update --depth 1 --init --recursive # cd 3rd/luamake # ./compile/install.sh # cd ../.. # ./3rd/luamake/luamake rebuild # ./bin/lua-language-server --version # cat<<EOF > /usr/local/bin/lua-language-server #!/usr/bin/env bash exec "/usr/local/lua-language-server/bin/lua-language-server" "$@" EOF # chmod 755 /usr/local/bin/lua-language-server # which lua-language-server # PATH ํ™•์ธ clangd ์„ค์น˜ clangd๋Š” c,c++์„ ์ง€์›ํ•œ๋‹ค. clangd๋Š” clang-extra-tools ํŒจํ‚ค์ง€์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. Links ninja build howto https://github.com/ninja-build/ninja lua-language-server - Getting Started https://github.com/sumneko/lua-language-server/wiki/Getting-Started#command-line

2022-11-21 ยท (updated 2025-07-27) ยท 179 words

LuaFun - LuaJit Functional

Intro LuaFun ์ •์˜ - LuaJit Hight Performance Functional Programming Library luajit์˜ ๋‚ด์žฅํ•จ์ˆ˜๋ฅผ ํ™•์žฅํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋•๋Š”๋‹ค. ํ•˜๋‚˜์”ฉ ๊ณต๋ถ€ํ•ด์„œ ํ™œ์šฉํ•˜๋ฉด ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ํˆด์ด ๋  ๊ฒƒ์ด๋‹ค. Usage ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• $ git clone https://github.com/luafun/luafun.git $ cd luafun $ luajit -i > -- Functional style > require "fun" () > -- calculate sum(x for x^2 in 1..n) > n = 100 > print(reduce(operator.add, 0, map(function(x) return x^2 end, range(n)))) 328350 > -- Object-oriented style > local fun = require "fun" > -- calculate sum(x for x^2 in 1..n) > print(fun.range(n):map(function(x) return x^2 end):reduce(operator.add, 0)) 328350 Using the Library Links github https://github.com/luafun/luafun Document https://luafun.github.io/

2022-10-12 ยท 99 words