小编Ale*_*lex的帖子

Java memoization方法

我遇到了一个有趣的问题,并想知道是否以及如何在Java中完成:创建一个可以记住任何函数/方法的方法.该方法具有以下参数:方法/函数及其参数.

例如,假设我有这种方法:

int addOne(int a) { return a + 1;}
Run Code Online (Sandbox Code Playgroud)

并且我使用相同的参数调用我的memoization方法两次:例如addOne和5,第一个调用应该实际调用addOne方法并返回结果并且还存储该给定参数的结果.第二次我打电话的时候应该知道之前已经打过电话,只是查看上一个答案.

我的想法是有一个类似于HashMap<Callable,HashMap<List<Objects>,Object>>你将存储以前的答案并在以后查找它们的地方.我认为这可以用lambda表达式以某种方式完成但我不熟悉它们.我不太确定写这个方法,并希望得到一些帮助.

这可以通过这种方法完成吗?

java lambda memoization

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

将“$(VAR)”回显到文件

我的 Makefile 中的一行遇到以下问题:

echo 'include $(BASE)/Makefile.base' > file
Run Code Online (Sandbox Code Playgroud)

如果我直接将其写入控制台,它实际上会将“include $(BASE)/Makefile.base”打印到文件中,但是当在 Makefile 中使用它时,$(BASE) 总是会被替换为空白,我希望它按字面意思写入到文件中。我尝试了多种写法,但似乎找不到正确的方法......

makefile echo

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

Bash 脚本:选择以特定范围内的数字开头的行

我有一个包含以下行的文件:

121<some letters> random text ...
1234<some letters> random numbers etc...
Run Code Online (Sandbox Code Playgroud)

每行以一个数字开头,后跟一些字母。我正在寻找一种方法来仅选择在特定间隔中以数字开头的行,例如: [0-9999] 。如果位数可能会有所不同,我很难选择这些行。

尝试使用 grep 但似乎无法找到编写正则表达式的正确方法。

linux bash awk grep sed

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

Bash:在for循环中使用cat

以下cat命令似乎在for循环之外正常工作但是当我将它置于其中时会出现语法错误:

for i in 1 2 3 4 5 do
  cat file_$i | grep "random text" | cut -d':' -f2 > temp_$i
done
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释写这个的正确方法吗?谢谢

bash cat

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

标签 统计

bash ×2

awk ×1

cat ×1

echo ×1

grep ×1

java ×1

lambda ×1

linux ×1

makefile ×1

memoization ×1

sed ×1