我在Pervasives的 Inria 文档中找到了以下内容:
val succ : int -> int
succ x 是 x + 1。
val pred : int -> int
预测 x 为 x - 1。
据我了解,succ和pred是简称。他们的全名是什么?
有没有办法为 Promisee.all 中的每个结果分配名称?
假设这是我的代码:
Promise.all([getBalls, getKids, getTeams])
.then(function (results) {
const new_team = doSomething(results[0], results[1],results[2])
resolve(new_team);
});
Run Code Online (Sandbox Code Playgroud)
我希望它是这样的:
Promise.all([
balls: getBalls,
kids: getKids,
teams: getTeams
]).then(function (results) {
const new_team = doSomething(balls,kids,teams)
resolve(new_team);
});
Run Code Online (Sandbox Code Playgroud) 编辑:我的问题是,原本"有没有一个标准名称,以展名单列表的功能,但只有一层深?",但查克的回答是措辞更接近我其实是想问问,所以我给它改名.不过,这三个答案对我都很有用.谢谢.
"扁平化"似乎是这需要一棵树,但是建立原子组成的列表深它们嵌套,但对于只有一个级别之后停止功能的功能广为接受的名字吗?所以((1 2)((3 4)(5 6))(7 8))"somethings"到(1 2(3 4)(5 6)7 8)."某些东西"在多种语言/库中是否有共同的名称?
这个问题的答案:
建议'链'可能是一个很好的猜测,但它是否足以成为"标准"?
C#?有两磅标志?
这是我们所获得的许多编程简历 - 来自随机人员 - 被列为资格证书.
这些人在谈论什么?这个约定是C++的意外保留还是什么?
EDIT/ANSWER:结果是公司简历管理系统将申请人指定的"C#"转换为"C##".那太棒了.
我在循环中使用setattr()函数赋值:
for i in range(30):
for j in range(6):
setattr(self, "e"+str(i)+str(j), Entry(self.top))
Run Code Online (Sandbox Code Playgroud)
,然后我想申请.grid()函数.用循环来表示所有这些变量.
例如,
self.e00.grid(row= 0, column= 0)
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
通过我的C#代码中的组合,我最终得到了一个类型
IObservable<Maybe<IObservable<T>>> events;
Run Code Online (Sandbox Code Playgroud)
其中Maybe是monad选项,IObservable是被动monad.
现在我想将其转化为
IObservable<Maybe<T>> flatEvents;
Run Code Online (Sandbox Code Playgroud)
我认为它表达了几乎相同的东西.注意我想保留可能体现的"无所事事"事件.我不想完全展平它,所以当只有T的实例可用时我才会看到事件.
经过一些试验和错误后,我发现我可以进行转换
var flatEvents = events
.Select(p=>p.Select(q=>q.Select(v=>v.ToMaybe()))
.Else(Observable.Return(None<T>.Default)))
.Switch();
Run Code Online (Sandbox Code Playgroud)
其中None<T>.Default返回一个Maybe<T>里面是空的.
T Maybe<T>.Else(T v) 提取选项monad中包含的值,如果没有,则提供替代值.
考虑到命名事情是最难的事情CS我正在寻找这个扁平化运算符的名称.我不是一个haskell程序员,但我确信我没有在这里发明任何东西,这是一种常见的投影.这有名字吗?
"计算机科学只有两个难题:缓存失效和命名事物."
- 菲尔卡尔顿
当需要一些像下面这样的逻辑时,我正在努力想出一个明智的名字THING:
THING = object()
def do_something(my_dict, my_key=THING):
if my_key is not THING:
# some code which accesses the dict
my_dict[my_key]
else:
# some code which handles this case
Run Code Online (Sandbox Code Playgroud)
这里我们不能None用作默认值,因为它是一个可能的数据值.我敢肯定这是一个众所周知的技巧,所以有一个众所周知的名称,一个对象可以完成这项工作THING吗?什么是更明智的名字?
我想知道在使用内联函数时是否存在某种命名约定.
假设我正在实现一个API,并希望让用户决定是否要使用普通函数或内联函数(两者都做同样的事情),是否有一个命名约定如何让外部世界看到一个函数是潜在的内联?我知道我可以查看.h或.inl文件
编辑: 我觉得有必要澄清一些观点,因为看起来我一开始并不够清楚.
假设我有一个接受三个值的函数.就像是:
bool MyClass::AddTwoNumbersAndCheckIfBigger(int summandOne, int summandTwo, int biggerNr)
{
bool isBigger = false;
int sum = summandOne+summandTwo;
if(sum > biggerNr)
{
isBigger = true;
}
return isBigger;
}
Run Code Online (Sandbox Code Playgroud)
这个函数可以调用一次,最多x> 1000000.如果我调用它一次,我希望它只是被正常调用,但如果在for循环中调用1000000次,我可能更喜欢内联选项.
我想让开发人员可以在这两个选项之间进行选择.我知道编译器负责决定它是否会被用作内联函数,但我想如果开发人员可以自己决定它会很好.
命名约定的问题源于这样一个事实:我有用户\开发人员不查看头文件但只使用intellisense作为指导.
我是Java NIO的新手,我不是英语母语人士.
当我读取有关读写缓冲区的方法调用时,我总是感到困惑.这听起来与我相反.
例如,
fileChannel.read(buffer)
Run Code Online (Sandbox Code Playgroud)
根据FileChannel javadoc,这意味着
从该通道读取一系列字节到给定的缓冲区
我想知道为什么它不会称之为"写".
在英语中,"写入"和"读取"听起来比"写入"和"读入"更自然.也在代码阅读中
fileChannel.write(buffer)
Run Code Online (Sandbox Code Playgroud)
FileChannel 将一系列字节写入给定的缓冲区
这清楚地说明了演员将要做什么.
现在我需要阅读所有相反的内容才能使事情正确...
也许他们这样称呼他们是因为历史原因他们如何在IO包中称呼他们?或许我错过了一些明显的东西?希望我能得到你的建议如何正确解释它们.
谢谢!