Jolf打高尔夫球的秘诀


12

Jolf是@CᴏɴᴏʀO'Bʀɪᴇɴ制定的程序性高尔夫球语言。

您在Jolf打高尔夫球有哪些秘诀?

请为每个答案发布一个提示。

这些技巧至少应该针对Jolf,例如,删除评论是一个答案,但不是一个很好的答案。


欢迎来到该站点,请阅读“ 如何提问”页面和“ 游览”页面以获取更多信息。
Rɪᴋᴇʀ

Answers:


4

JavaScript回退

如果出于某种奇怪的原因,Jolf不够自信,或者根本无法应付,那么使用JavaScript eval可能有用。这可以通过两种方式之一发生。

1.设计评估

里面的任何内容都$...$将直接转移到JS转换中。例如,将+3$~$5代码转换为add(3, ~5)。等效地,+3:~5

2.数组评估

您可以在Jolf中使用JS数组!大多。这是一个错误,但我不会修复它。例如:

u[3*5,5/6,(3+4)/5]

转译至:

sum([2 * 3, 5 / 3, (3 + 4) / 5]);

1
如果出于某种奇怪的原因,乔尔夫(Jolf)足够打高尔夫球(...?)
Outgolfer的埃里克

@EriktheOutgolfer不是**
Conor O'Brien

7

了解您的自动分配变量!

Jolf有很多“自动分配”变量的方法。标准的是γ,它采用下一个表达式的值。Β是同一件事,但是将下一个表达式转换为数字。

另外,ζ(zeta)是一个初始化为-1/12(猜测原因)的变量,可以使用Ζ(Zeta)重新分配。

例如,假设您要比较I(输入字符串)与自身上的操作。现在,让我们看看是否I + I = reverse(I + I)。通常写成:

=+II_+II

但这可以归结为:

=γ+II_γ

您的-1/12 zeta与弦论有关吗?我知道一种将每个自然数相加并获得-1/12的方法
DeepDeadpool '16

1
@GheyPhistor哪个弦论?但是,是的,自然数的zeta函数为-1/12。
科纳·奥布莱恩

6

@

@是一个命令,它将源代码中的下一个字符作为字符并返回该字符的代码点。(例如,@X返回88。)这通常非常有用,因为您可以用两个字节表示0到255之间的任何数字。


“介于100和255之间”
Leaky Nun

@KennyLau在Jolf中,10实际上是数字1,而0不是数字10,所以更像是10-255。
意大利面条

我明白了,谢谢..
Leaky Nun

4

阅读资料

截至目前,有很多未记录的东西-其中包括神秘的m模块,其中包含许多内置函数。但是,它们确实存在于源代码中,一旦掌握了它的确很容易阅读,因此请阅读源代码。


1
mysterious mATH模块。
科纳·奥布莱恩

1
module。(还有6个要去...)
Leaky Nun

2

增加机能

每个功能都有一个统一体。例如,+Arity为2。如果要(说)添加5个元素,则可以使用5 + s ... do +θ12345。特别:

  • θ 使功能的多样性增加3。
  • 将父函数*+~θ345678的Arity增加3。(因此将父函数的Arity增加*3)。
  • M 使功能的属性提高2。
  • ~M 将父函数的arity增加2。
  • ; 使功能的属性增加1。
  • ~; 将父函数的arity增加1。
  • η 将功能的arity减少1。
  • 将父函数的arity减少1。
  • \xad 将父函数的arity设置为下一个字符的charcode。

*+~θover 的优点是*θ+什么?
user253751 '16

@immibis在那种情况下没有,仅仅是说明性的。Jolf中有一些函数在解析时会传递两个函数。然后,访问top函数的唯一性的唯一方法是使用~<char>
Conor O'Brien

2

利用隐式输入

如果一个函数没有足够的参数,它将在输入中查找其余参数。例如:

+uz

将转换为:

add(sum(unaryRange(x)), x)

相当于

+uzxx

1

使用o存储值

与其他语言可以为简单/简短引用分配变量的方式类似,Jolf具有o

例如,oThx输出输入加1。

这是一个无用的示例,但是当表达式比复杂时hx,可以节省一些严重的字节数。

另外,v"var name"<val>允许使用多字符变量名称,并V"var name"从作用域获取变量。

感谢Conor向我解释这一点,并给出前面的句子。


还要注意,它v"var name"<val>允许使用多字符变量名称,并V"var name"从作用域获取变量。
科纳·奥布莱恩

@CᴏɴᴏʀO'Bʀɪᴇɴ哦,那就是他们的工作。添加到帖子。
Rɪᴋᴇʀ

2
o技巧提示:P
Downgoat '16

@EᴀsᴛᴇʀʟʏIʀᴋ o作为赋值变量是一个双关语
Conor O'Brien

@CᴏɴᴏʀO'BʀɪᴇɴO,是啊....
Rɪᴋᴇʀ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.