小编see*_*ker的帖子

可执行文件中常见字符串的含义?

似乎有一些类似的长字母数字字符串,通常出现在Mach-O 64位可执行文件和ELF 64位LSB可执行文件以及其他不是字母数字的符号中:

cat /bin/bash | grep -c "AWAVAUATSH"
Run Code Online (Sandbox Code Playgroud)

有181个结果,和

cat /usr/bin/gzip | grep -c "AWAVAUATSH"
Run Code Online (Sandbox Code Playgroud)

有9个结果.

在此输入图像描述

这些字符串是什么?

macos executable elf binary-data mach

13
推荐指数
1
解决办法
2111
查看次数

在不考虑实现细节的情况下定义与其他函数相关的函数

我编写了一个名为'oddOf'的函数,它可以正确地确定给定值是否在列表中具有奇数个存在.它定义如下:

oddOf :: (Eq a) => a -> [a] -> Bool
oddOf value list = oddOf' value list False
    where oddOf' val (x:xs) acc = if x == val
                                  then oddOf' val xs (not acc)
                                  else oddOf' val xs acc
          oddOf'  _     _   acc = acc
Run Code Online (Sandbox Code Playgroud)

我想编写一个函数来确定给定值是否在列表中具有偶数个存在.当呈现诸如这些的二元选择时,最佳实践是实现一个并将另一个定义为"不是它的补充".考虑到这一点,我尝试了这个定义:

evenOf = not oddOf
Run Code Online (Sandbox Code Playgroud)

对我来说,这看起来像是一个合理的部分应用函数,但它不是有效的Haskell代码.我需要更好地理解的语言是什么?定义evenOf我正在寻找的优雅方式是什么?

haskell

5
推荐指数
2
解决办法
169
查看次数

推广算术运算符

两个数字的乘法可以通过算法定义,如下所示:'将第一个数字加到自身上的次数等于第二个数字的值'.两个数字的指数可以通过算法定义,如下所示:'将第一个数乘以它自己的次数等于第二个数的值'.考虑乘法和取幂的这些定义会引发一些问题......

首先,可以通过从加法开始作为基本操作来定义一类算术运算吗?我写了一些haskell代码来测试这个想法:

order1 x y = x + y
order2 x y = foldl (order1) x (replicate (y - 1) x)
order3 x y = foldl (order2) x (replicate (y - 1) x)
order4 x y = foldl (order3) x (replicate (y - 1) x)
order5 x y = foldl (order4) x (replicate (y - 1) x)
Run Code Online (Sandbox Code Playgroud)

果然,'order2'的意思是乘法,'order3'的意思是指数.据我所知,英语中缺少N3的"orderN"字样.数学界对这些操作有什么有趣的说法吗?

另外,考虑到那些'order'函数的递归外观,如何编写这样的函数:

generalArithmetic :: Int -> Int -> Int -> Int
generalArithmetic n x y =   --Comment: what to put here?
Run Code Online (Sandbox Code Playgroud)

这意味着当n等于2时的乘法,意味着当n等于3时的取幂...?

另外,如何概括这些算术函数以便它们可以对所有实数进行操作?毕竟,'复制'的类型是Int …

math haskell functional-programming numbers

5
推荐指数
1
解决办法
264
查看次数

tqdm可以用于数据库读取吗?

在阅读从SQL数据库到pandas数据帧的大关系时,有一个进度条会很好,因为元组的数量是静态已知的,并且可以估计I/O速率.看起来该tqdm模块具有一个函数tqdm_pandas,该函数将报告映射函数在列上的进度,但默认情况下调用它不会像这样报告I/O上的进度.是否可以tqdm在通话中使用进度条pd.read_sql

python pandas tqdm

4
推荐指数
1
解决办法
1628
查看次数

为什么浏览器不能解释更多编程语言?

虽然有大量的编程语言,但浏览器可以解释少量的编程语言.<script>tags有一个type属性,可以设置为javascript或ecmascript.php可以嵌入带有<php [code] ?>标记的html中.为什么没有类似的嵌入python/haskell/c/etc的机制?他们缺乏浏览器环境(例如javascript的'document'对象和php的超级全局),但类似的环境可以构建为这些语言中的模块.许多编程语言都有cgi模块,因此有一个先例.

javascript php browser

3
推荐指数
2
解决办法
2493
查看次数

cdr的时间分析

我无法找到时间复杂度分析cdr.它是在恒定时间还是线性时间运行?如果答案取决于lisp的实现,假设我使用的是Racket.

lisp time-complexity racket

2
推荐指数
2
解决办法
160
查看次数

如何实现C中的Typecasts?

从应用程序员的角度来看,类型转换只是起作用.使用某种语法,整数的无符号表示可以充当小于INT_MAX的有符号整数值.执行这些转换的算法是什么?它们的时间复杂度是多少?是否存在执行转换的现代指令集体系结构的专用项,或者编译器是否知道一系列指令?如果类型转换在内部工作中存在平台依赖性,那么这些差异是否会泄漏到类型转换的影响中?

c compiler-construction x86 arm isa

2
推荐指数
1
解决办法
238
查看次数

使用Vim中的搜索进行映射

在正常模式下,我输入以下内容时,会选择分配的左侧:

^v/=
Run Code Online (Sandbox Code Playgroud)

这种行为不会在看似等效的映射中复制:

onoremap lhs :<c-u>execute "normal! ^v/="
Run Code Online (Sandbox Code Playgroud)

工作有什么区别?

vim

0
推荐指数
1
解决办法
54
查看次数