我一直试图在“简单计划”中理解这个练习8.10,但是却无法在Racket博士中理解它。
就是这样:写一个谓词是真的吗?它有两个参数,一个谓词程序和一个句子。如果谓词参数对句子中的每个单词都返回true,则它应返回#t。
(真实的?甚至?'(2 4 6 8))
Ť
(真实的?甚至?'(2 6 3 4))
˚F
我尝试了解决方案:
(定义(真实的所有?pred发送) (=(计数已发送)(计数(保持预先发送))))
但是,Dr Racket给出了像计数:arity不匹配这样的错误。 是否有人能够重写它或者至少提供一些提示。赞赏很多:)
最诚挚的问候, 尤妮斯
答案 0 :(得分:0)
Racket支持多种语言。因此,所有程序都以#lang
行开头,告诉Racket使用哪种语言。 Simply Scheme中使用的Scheme方言需要这一行:
#lang planet dyoo/simply-scheme:2
以下计划:
#lang planet dyoo/simply-scheme:2
(define (true-for-all? pred sent)
(= (count sent) (count (keep pred sent))))
(true-for-all? even? '(2 4 6 8))
(true-for-all? even? '(2 6 3 4))
返回
#t
#f
正如所料。
注意:在DrRacket的左下角,选择"从源中确定语言"。
Simply Scheme语言的文档在这里:http://planet.racket-lang.org/package-source/dyoo/simply-scheme.plt/2/2/planet-docs/manual/index.html
答案 1 :(得分:0)
纯粹的Racket有一个解决方案(仅适用于上下文):
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//Check for Google Play Music exist
if (isPackageInstalled("com.google.android.music", getPackageManager()))
{
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.google.android.music");
startActivity(LaunchIntent);
}
else
{
else
{
//Your previous code goes here
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(Environment.getExternalStorageDirectory().getPath()+"/alarm.mp3");
if (file!=null)
{
intent.setDataAndType(Uri.fromFile(file), "audio/*");
startActivity(intent);
}
else
{
Toast.makeText(Music.this,"Sound Track missing",Toast.LENGTH_LONG);
}
}
}
private boolean isPackageInstalled(String packagename, PackageManager packageManager)
{
try
{
packageManager.getPackageInfo(packagename, 0);
return true;
}
catch (PackageManager.NameNotFoundException e)
{
return false;
}
}