根据我的理解,voidJavascript中的关键字是某种函数,它接受一个参数并始终返回undefined值.出于某种原因,你需要传递一个参数; 没有一个它就行不通.
它有什么理由需要这个论点吗?
有什么意义?为什么没有争论就行不通.我见过的唯一用途就是产生一个undefined结果.它还有其他用途吗?
如果没有那么似乎表达式的要求将是毫无意义的.
在bash中使用read时,按退格键不会删除输入的最后一个字符,但似乎会在输入缓冲区中附加一个退格键.有什么方法可以更改它,以便删除从输入中键入的最后一个键?如果是这样的话?
这是一个简短的示例编程我正在使用它,如果有任何帮助:
#!/bin/bash
colour(){ #$1=text to colourise $2=colour id
printf "%s%s%s" $(tput setaf $2) "$1" $(tput sgr0)
}
game_over() { #$1=message $2=score
printf "\n%s\n%s\n" "$(colour "Game Over!" 1)" "$1"
printf "Your score: %s\n" "$(colour $2 3)"
exit 0
}
score=0
clear
while true; do
word=$(shuf -n1 /usr/share/dict/words) #random word from dictionary
word=${word,,} #to lower case
len=${#word}
let "timeout=(3+$len)/2"
printf "%s (time %s): " "$(colour $word 2)" "$(colour $timeout 3)"
read -t $timeout -n $len input #read input here
if [ …Run Code Online (Sandbox Code Playgroud) 我刚刚尝试在Haskell中重写一些代码,本来是一个简短的Javascript函数。原始的有2个嵌套循环,内部循环包含两个循环计数器的相等性检查:
function f(x, points){
var i, j;
var n = points.length;
var result = 0;
for(i=0; i<n; i++){
var xprod = 1;
for(j=0; j<n; j++){
if(j != i){
xprod *= (x - points[j][0]);
}
}
result += points[i][1] * xprod;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
我希望能够在Haskell中对其进行简化,但是我无法弄清楚如何不有效地递归写出原始步骤的每一步而掌握i和j值。在Javascript中,Array.map将列表位置作为第二个参数传递到回调函数中,但是似乎Haskell中的map不会执行此操作。我要传递两个数组副本(每个循环一个),所以我当前的Haskell版本看起来很糟糕:
xproduct :: Int -> Int -> Double -> [(Double,Double)] -> Double
xproduct _ _ _ [] = 1
xproduct i j x (pt:todo)
| i == j = (xproduct i (j+1) x todo)
| otherwise …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个包含列表的数据类型类:
data Test = [Int] deriving(Show)
Run Code Online (Sandbox Code Playgroud)
但是Haskell无法解析构造函数。我在这里做错了什么,如何最好地实现自己的目标?