我正在尝试按照本指南将 R 作为 Jupyter Notebook 中的可用语言。
\n\n第一步是运行:
\n\ninstall.packages(c(\'repr\', \'IRdisplay\', \'evaluate\', \'crayon\', \'pbdZMQ\', \'devtools\', \'uuid\', \'digest\'))\nRun Code Online (Sandbox Code Playgroud)\n\n但即使运行此命令后,我仍然无法执行下一步:
\n\ndevtools::install_github(\'IRkernel/IRkernel\')\nRun Code Online (Sandbox Code Playgroud)\n\n返回错误:
\n\nError in loadNamespace(name) : there is no package called \xe2\x80\x98devtools\xe2\x80\x99\nRun Code Online (Sandbox Code Playgroud)\n\n如果您查看我发布的链接的评论部分,其他人似乎也遇到了这个问题。
\n\n更新:\nScott Richie 建议我重新运行 install.packages(\'devtools\')\n这返回:
\n\nThe downloaded source packages are in\n \xe2\x80\x98/tmp/RtmpgBI8IU/downloaded_packages\xe2\x80\x99\nWarning messages:\n1: In install.packages("devtools") :\n installation of package \xe2\x80\x98curl\xe2\x80\x99 had non-zero exit status\n2: In install.packages("devtools") :\n installation of package \xe2\x80\x98openssl\xe2\x80\x99 had non-zero exit status\n3: In install.packages("devtools") :\n installation of package \xe2\x80\x98git2r\xe2\x80\x99 had …Run Code Online (Sandbox Code Playgroud) 我已经阅读:https : //cloud.google.com/compute/docs/instances/stopping-or-deleting-an-instance。他们在其中解释:
您可以暂时停止实例,以便稍后再返回。停止的实例不会产生费用,但是仍将对附加到该实例的所有资源收取费用。或者,如果使用完实例,则删除该实例及其资源以停止产生费用。
但是,我不知道事情如何在Google Cloud中分配,所以我不确定这意味着什么。
说我停止实例,我想我仍在使用它们的存储,但是我没有使用任何CPU,对吗?这是否意味着我将只为存储付费,而不为CPU和GPU小时付费?
谷歌还如何停止我的实例?我知道,如果您在“ Virtualbox”之类的实例中挂起实例,则可以启动该实例并从中断时开始。那是Google的工作吗?我是否可以在运行某些内容的过程中停止实例,并让它在再次启动实例时从中断处继续执行?
根据我的理解,Maybe类型是你可以与另一种类型结合的东西.它允许您使用"Just ... Nothing"格式为您组合输入的条件指定条件.
我演讲幻灯片中的一个例子是Haskell中的一个函数,它给出了输入的平方根,但在这之前,检查输入是否为正:
maybe_sqrt :: Maybe Float -> Maybe Float
maybe_sqrt maybe_x = case maybe_x of
Just x
| x >= 0 -> Just (sqrt x)
| otherwise -> Nothing
Nothing -> Nothing
Run Code Online (Sandbox Code Playgroud)
但是,我不明白为什么这个功能同时使用案件和警卫.为什么你不能像这样使用警卫?:
maybe_sqrt :: Maybe Float -> Maybe Float
maybe_sqrt x
| x >= 0 = Just (sqrt x)
| otherwise = Nothing
Run Code Online (Sandbox Code Playgroud) 我想创建一个函数,创建一个无限列表,它将两个数字和一个运算符作为输入,因此它可以生成算术和几何序列.
infiniteList:: (Floating a)=>a->(a->a->a)->a->[a]
infiniteList start operation changeby =
start:[(operation x changeby)| x<-(infiniteList start operation changeby)]
Run Code Online (Sandbox Code Playgroud)
代码编译并正常工作:infiniteList 1 (*) 2从1开始生成一个列表,后续数字是其前身的两倍.
现在我无法确定"计算列表的第n个元素"的计算复杂度.从技术上讲,它正在进行一项操作来确定列表中的每个元素.但是,如果您在(2 ^ k +1)项之后,我将不得不等待计算机首先完成计算2 ^(k + 1)个元素.
我希望我能正确地解释这一点,所以基本上我认为程序以2 ^ k批次生成元素,其中k是一个整数,所以你可能会等待(2 ^(k + 1)-2 ^ k)时间计算(2 ^ k +1)整数.那么"计算列表的第n个元素"的计算复杂度是多少?
我可以将案件置于一定范围或其他数字范围内吗?
说......
case x of
+/- 3 -> yes
Run Code Online (Sandbox Code Playgroud)
...
这会是Haskell应该理解的吗?
更新:简而言之,我能够匹配间隔而不是数字吗?