我目前拥有并尝试过的内容:
fn locate_func() -> fn() -> bool {
func_exit()
}
Run Code Online (Sandbox Code Playgroud)
上面的代码显示了我想要完成的任务.我希望以func_exit我认为是指针的形式返回,无论变量绑定可能决定它需要特定代码,以及一旦我检索了我想要运行它的函数.但我确信我可以自己弄清楚跑步部分.
&func_exit()
Run Code Online (Sandbox Code Playgroud)
我已经尝试了,但你肯定知道只是简单地评估函数然后返回一个指向堆栈上布尔值的指针.
*&func_exit()
&*func_exit() // or
Run Code Online (Sandbox Code Playgroud)
我相信在某些时候我在Rust书中看到了类似的东西,但是我已经尝试过这种情况下的两种组合,并尝试用所有不同的方式用括号做同样的事情,但是仍然首先评估函数,然后指向评估的布尔值.
我一直在阅读format!和所有的格式化选项,并看到有一种美妙的方式使用其中一个文本串中心<,^或>.而不是将字符串置于空格中心,是否可以将其置于角色中心?
{:^32} // Centers it nicely in 32 characters of whitespace
Run Code Online (Sandbox Code Playgroud)
我想的是:
{:^32'c'} // But this does not work
Run Code Online (Sandbox Code Playgroud)
我几乎尝试过各种方式,除了那些看起来太疯狂的方式.但幸运的是Stack Overflow!
是否可以使用数字将字符串居中以实现类似以下内容?
--------太棒了--------
为了了解 Ada 程序编译背后的过程(不诉诸使用gpr),我决定手动编译我的一个项目。为了编译程序,我对.adb其中的每个文件运行以下命令(但是不是手动):
$ gcc -c src/<file>.adb -o obj/<file>.o
这会编译所有文件并将它们放入obj目录中。
或者更确切地说,会的。这有一个小问题。我有一个从另一个项目生成的存档(静态库),名为libapples.a,包含 package Apples。Apples您在上面看到我编译的文件使用了该包。
由于libapples.a不再有源文件(鉴于其存档格式),因此使用-I开关向上述命令提供该库的源是不可行的(甚至不可能);另一方面,如果我没有包含源代码,上面的命令会返回给我:
<file>.adb:<y>:<x>: file "apples.ads" not found
gnatmake: "src/<file>.adb" compilation error
我尝试使用标志-L和将库包含在编译过程中l(我相信这就是您在 C 中的做法;如果我错了,请随时纠正我)。在另一次尝试中,我将存档放在源目录中。
如何在编译过程中包含一个库?
在过去的几周里,由于各种不同的原因,我一直进入Ada。但是毫无疑问,有关我为何使用Ada的个人原因的信息超出了此问题的范围。
从前几天开始gprbuild,我开始使用Windows版本的GNAT附带的命令,以便获得以项目相关的方式管理我的应用程序的系统的好处。也就是说,能够在每个项目的基础上定义某些属性,而不是自己手动设置编译阶段。
目前,当命名我的文件时,它们的名称基于似乎是的标准grpbuild,尽管我可能会很错。对于句点(在包结构中),-在文件名中放置a ,对于下划线,_将相应地放置a。因此,名称相同的软件包App.Test.File_Utils的文件名将为app-test-file_utils:.ads,.adb因此。
在.gpr项目文件中,我指定了:
for Source_Dirs use ("app/src/**");
Run Code Online (Sandbox Code Playgroud)
这样我就可以使用多个目录来存储我的文件,而不需要将它们全部都放在同一个目录中。
但是,出现的问题是文件名往往变得很长。因为我已经根据文件包含的包名称将文件放在目录中,所以我想知道是否有某种方法可以使编译器理解可以从文件的目录名中检索包名称。
也就是说,我不必将其命名为App.Test.File_Utils文件名app-test-file_utils,而是希望它app/test通过name 驻留在目录下file_utils。
这是可行的,还是会令我最终不得不按以下方式命名我的文件的恐惧app-test-some-then-one-has-more_files-another_package-knew-test-more-important_package.ads?当然,我没有错过有关Ada应用程序实际结构的一些知识。
我试图package Naming在gpr文档中的文件配置中寻找答案,但无济于事。此外,我一直在浏览网络以获取信息,但我决定最好通过Stackoverflow寻求帮助,以便将来可能会遇到此问题的其他人(首先是遇到问题的人)也可能会获得帮助。 。
任何正确方向的指点都会非常有帮助!
我有三个包:Vendor.Apple,Vendor.Pear和Pear.
在Vendor.Apple,需要从包中调用子程序Pear.但是,import(with)Pear包,然后尝试调用Eat其中的过程,会导致编译器认为该Eat过程在内部Vendor.Pear.这会导致以下错误:
"吃"未在"梨"中宣布
有没有办法with使用绝对包路径; 解决这个问题,即子包Apple可以访问隐藏我们试图导入的包的"令牌"吗?
我是android studio的初学者.我正在开发一个测验应用程序.应用程序应检查要比较的两个字符串并给出正确的答案.但比较两个字符串(即使它们是相同的)并没有给出正确的输出.相反,它直接转到代码中的最终return语句.这是代码:
// ...
EditText Answer1 = (EditText) findViewById(R.id.answer1);
String ans = Answer1.getText().toString();
Log.v("MainActivity", "City name :" + ans);
String answer= String.valueOf(Answer1);
// ...
public String YourAnswers(String ans, boolean isDT, boolean isHC, boolean isBO,String answer) {
String Message = "1.:You answered \n"+ans+ "\n" +ques1(answer);
Message = Message + " \n 2.: \n" +question2(isDT,isHC,isBO) ;
return Message;
}
public String ques1(String answer) {
if (answer == "Jefferson City"){//||ans=="Jeff City"||ans=="Jeffcity"||ans=="Jeffersoncity"){
return "correct";
}
else if(answer =="Jeff City") {
return "correct.";
}
else …Run Code Online (Sandbox Code Playgroud) 每当我评论我的代码时 - 我都喜欢有好评和大评论.有时需要嵌套大评论,我通常会添加额外的缩进.但是,如果我能够使用额外的代码块{}来使缩进更符合逻辑,那将会更加清晰.
我们有一个简单的例子:
// ?????????????????????
// ? COMMENT ?
// ?????????????????????
{
// Code in here
}
// ?????????????????????
// ? ; ?
// ?????????????????????
Run Code Online (Sandbox Code Playgroud)
请问{}在这个例子中放慢Java程序的速度以任何方式或将他们由编译器被自动删除?肯定{}是一个范围本身,Java会想要保持这个,对吗?