给定一个包含(有效)动词的字符串,如何获取该动词而不将其提交给任何变量?例如,说eval是那个功能; 它应该像这样工作:
eval '+ @ >: @ %'
+@>:@%
eval '+'
+
Run Code Online (Sandbox Code Playgroud)
我只需要它就能够执行动词并返回它们,但是任意代码的评估都很酷.(我知道".,BTW.)
作为一个有趣的小实验,我想"嘿,也许我可以制作动词,将一串动词转化为一系列动词!" 我知道我可以使用;:"word-ify"将字符串转换为J-verbs,如下所示:
]str =: '+ >: %'
+ >: %
;: str
????????
?+?>:?%?
????????
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.现在,我只是'@'通过使用,.("ravel items")来主动"加入"它们:
'@' ,.~ > ;: str
+ @
>:@
% @
Run Code Online (Sandbox Code Playgroud)
展平这个产量:
+ @>:@% @
Run Code Online (Sandbox Code Playgroud)
最后,@用}:收益率砍掉尾随+ @>:@%,这是我想要的更丑陋的版本+ @ >: @ %.
现在,这一切都很好,除了一件事:它是一个字符串.差不多了!但并不完全.我心想,"哦!".对于这个来说是完美的,它基本上是eval." 令我沮丧的是,这些文件因此而读(我的):
".y执行句子y.如果执行结果是名词,那么结果".y就是名词; …
我正在写一种叫做Jolf的深奥语言.它用于可爱的网站codegolf SE.如果您还不知道,则会以字节为单位对很多挑战进行评分.人们已经做出 很多的 语言是利用或者自己的编码或预先存在的编码.
在我的语言的解释器上,我有一个字节计数器.正如您所料,它计算代码中的字节数.到现在为止,我一直在使用UTF-8 en/decoder(utf8.js).我现在使用的是带有希腊字符的ISO 8859-7编码.文本上传实际上也不起作用.我需要计算上传文件中包含的实际字节数.还有,有办法读取所述编码文件的内容吗?
鉴于从<input>页面上的元素获得的ISO 8859-7编码的文件,有没有办法获得该文件中包含的字节数?并且,给定"明文"(即文本直接放入a <textarea>),我如何计算其中的字节,好像它是在ISO 8859-7中编码的?
调用input元素isogreek.该文件位于<input>元素中.内容是?X?希腊字符,拉丁字符(每个字符应该是一个字节)和一个中文字符,它应该超过一个字节(?).
isogreek.files[0].size; // is 3; should be more.
var reader = new FileReader();
reader.readAsBinaryString(isogreek.files[0]); // corrupts the string to `ÖX?`
reader.readAsText(isogreek.files[0]); // ?X?
reader.readAsText(isogreek.files[0],"ISO 8859-7"); // ?X?
Run Code Online (Sandbox Code Playgroud) 我想修改生成器函数实例的原型 - 即从调用a返回的对象function*.
假设我有一个生成器功能:
function* thing(n){
while(--n>=0) yield n;
}
Run Code Online (Sandbox Code Playgroud)
然后,我做了一个实例:
let four = thing(4);
Run Code Online (Sandbox Code Playgroud)
我想定义一个被调用的生成器原型exhaust,如下所示:
four.exhaust(item => console.log(item));
Run Code Online (Sandbox Code Playgroud)
会产生:
3
2
1
0
Run Code Online (Sandbox Code Playgroud)
我可以通过这样做来破解它:
(function*(){})().constructor.prototype.exhaust = function(callback){
let ret = this.next();
while(!ret.done){
callback(ret.value);
ret = this.next();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,(function*(){})().constructor.prototype.exhaust看起来非常......哈哈.没有GeneratorFunction我可以轻易编辑的原型......或者在那里?有一个更好的方法吗?
从这个,我发现JavaScript是用C ++编写。我还发现/推断出大多数JavaScript是C ++(例如Math.atan+""和Math.atan.toString()yield "function atan() { [native code] }")。在[native code我认为是C ++,还有什么是“隐藏”了点?
我的问题是有没有办法在JavaScript中利用C ++?要在函数中还是在JavaScript平台中使用它?
J是一门很棒的编程语言,我决定学习它.作为一个简单的练习,我决定模仿一个范围.有一个内置函数i.可以创建一个范围0..i-1.使用一些数学,我认为这是之间的范围a和b:
a + i. (b - a - 1)
Run Code Online (Sandbox Code Playgroud)
成功!我想.现在,转换为动词的"简单"任务摆在我面前.这是我现在的问题.我a在动词的两边都调用了(左边的参数)+.我想过使用evoke,但我不确定如何使它工作.
所以我的问题是:我如何将形式的表达式,a f (a g b)或者更具体地说,a f (a g b h c)(和类似的形式)转换为纯动词?我不想使用明确的论点,因为它有什么乐趣?;)
编辑我的解决方案如下:
range =: [(+i.)>:@-~
Run Code Online (Sandbox Code Playgroud) 我一直在尝试创建一个函数,它将通过函数返回0(包括)和1(不包括)之间的随机十进制数Window.crypto.getRandomValues().目前,我的代码如下:
var rand = function(){
var ra = window.crypto.getRandomValues(new Uint32Array(1))[0];
function dec(n,m){
return (n>=0&&n<=1)?n:dec(n/m,m);
}
return dec(ra,8);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是这不是均匀分布的; 它倾向于在.2和.7之间,很少在.2和.7之间.有没有更好的方法来使用该.getRandomValues()方法来获得类似Math.random()函数的数字?
我没有使用该.random()方法,因为我希望为我正在尝试执行的操作设置安全数字.
我需要一个正则表达式(或任何其他东西)对象来匹配一个字符,以及后面相同字符的多个实例,直到它到达一个新字符。
理想情况下,我需要一个函数来返回输入字符串中找到的所有连续字符的数组。它应该返回类似这样的东西。
> like_characters("Hello?");
Array ["H", "e", "ll", "o", "?"]
> like_characters("1234442332111???");
Array ["1", "2", "3", "444", "2", "33", "2", "111", "???"]
Run Code Online (Sandbox Code Playgroud)
我不必使用正则表达式——任何通过字符更改“分割”字符串的方法都可以。它最好是低字节代码,因为我正在处理一个空间有限的小组项目。
str.split(/\d*/)
str.split(/\d+/)
/(\d)+\1/
Run Code Online (Sandbox Code Playgroud)
这几乎就是我所拥有的一切(坦率地说,我很惊讶我竟然能走到这一步——正则表达式的领域是如此模糊)。
我在Excel 2013中有一个工作表.
A B C D E F G H
1 Puzzle Number Given Difficulty n b g c a nbg
2 1 Very Easy 4 6 3 9 2 <problem cell>
3 2 Very Easy . . . . . <problem cell>
Run Code Online (Sandbox Code Playgroud)
我想一般设定在H列的值是,比方说,在列的值C * D * E在具有值的所有行C,D和E.
我不确定这是否可以在Excel中使用.如果不是,是否有一些公式我可以复制并粘贴到每一行H?
我真的不是在尝试使用VBA,只是Excel公式.在此先感谢您的帮助.
javascript ×5
j ×2
c++ ×1
cryptography ×1
ecmascript-6 ×1
encoding ×1
eval ×1
excel ×1
function ×1
generator ×1
node.js ×1
random ×1
regex ×1
string ×1