Redian新闻
>
[求教,R, currying]函数编程20行代码,如何debug?
avatar
[求教,R, currying]函数编程20行代码,如何debug?# Programming - 葵花宝典
z*3
1
大家都是用一个帐号还是分开两个帐号呢?
一个帐号的话付款就是320美元。
多谢!
avatar
m*r
2
其实没有bug, 都能正确执行,但我无法理解下面20多行R代码是怎么跑的,想把里面的
函数打印出来,也打不出来。 以前学C的时候,都有一个watch window, 每跑一步,看
看里面变量如何变化,就逐渐理解程序在干什么。R里面是函数套函数, 我以前都是用
pryr:unenclose 来看看函数里面是什么。 可用在以下的代码,就不灵了。不知道为什
么。
以下代码是来自于Functional Programming in R: Advanced Statistical
Programming for Data Science, Analysis and Finance by Thomas Mailund
我瞎猜可能是这样
第一步:1 +2y +3z
第二步:1 +2*2 +3z
第三部:1 +2*2 +3*3
也有可能是反过来的
第一步x + 2*y +3*3
第二步x + 2*2 +3*3
第三部1+ 2*2 +3*3
curry n cat('how_many_parameters ', n);
if (n == 1) return(f) # no currying needed
arguments last arguments[n] <do.call(f, arguments)
cat('sucess_do_call')
}

cat('out_of_do_call')

make_i force(i) ; force(continuation);
function(x) {
arguments[i] <continuation
}
}
continuation for (i in seq(n-1, 1)) {
continuation cat('this_is_in_for_loop', i)
#unenclose(continuation)
}
continuation
}
f curry(f)(1)(2)(3);
avatar
a*n
3
一个帐号就可以了,填上随行,然后多人就交多少钱。

【在 z***3 的大作中提到】
: 大家都是用一个帐号还是分开两个帐号呢?
: 一个帐号的话付款就是320美元。
: 多谢!

avatar
n*3
4
The best way to get a intro functional programming book/blog. R is not the
best language to start to learn these idea.
curry/partial .. use a lot of idea like "function as parameter.." ,
you can see/print what this point it, but you can NOT see the value before
it is evaluated.

【在 m******r 的大作中提到】
: 其实没有bug, 都能正确执行,但我无法理解下面20多行R代码是怎么跑的,想把里面的
: 函数打印出来,也打不出来。 以前学C的时候,都有一个watch window, 每跑一步,看
: 看里面变量如何变化,就逐渐理解程序在干什么。R里面是函数套函数, 我以前都是用
: pryr:unenclose 来看看函数里面是什么。 可用在以下的代码,就不灵了。不知道为什
: 么。
: 以下代码是来自于Functional Programming in R: Advanced Statistical
: Programming for Data Science, Analysis and Finance by Thomas Mailund
: 我瞎猜可能是这样
: 第一步:1 +2y +3z
: 第二步:1 +2*2 +3z

avatar
z*3
5
谢谢你!

【在 a*****n 的大作中提到】
: 一个帐号就可以了,填上随行,然后多人就交多少钱。
avatar
m*r
6
谢谢指教。 请问有办法把continuation打出来吗? 比如x +2y +3*3, 这样我知道每一
步loop在做什么。
三民主义, dracobe都来谈谈吧。

【在 n*****3 的大作中提到】
: The best way to get a intro functional programming book/blog. R is not the
: best language to start to learn these idea.
: curry/partial .. use a lot of idea like "function as parameter.." ,
: you can see/print what this point it, but you can NOT see the value before
: it is evaluated.

avatar
G*d
7
签证费涨价了吗? 320 是一个人还是两个人?两人一个帐号去中信银行要交多少钱?

【在 z***3 的大作中提到】
: 大家都是用一个帐号还是分开两个帐号呢?
: 一个帐号的话付款就是320美元。
: 多谢!

avatar
n*7
8
我写R的时候也有这个疑问,如何debug?
我记得Rstudio现在可以设置断点了吧
不过函数套函数的时候要怎么搞呢?
以前R的code一旦写多了,debug就是个噩梦
特别是要跑半个小时来reproduce某个bug。。
avatar
a*n
9
一个人160,现在的话2个人交2016人民币

【在 G******d 的大作中提到】
: 签证费涨价了吗? 320 是一个人还是两个人?两人一个帐号去中信银行要交多少钱?
avatar
d*c
10
加个browser(),那是个交互R shell,然后可以一步一步往前走看发生了什么,还可以
执行任何命令,检查任何内存变量。
另外我几乎没用过currying,觉得这东西在解决一个根本不重要的问题。
这本书是什么,amazon一个review都没有,作者是个搞bioinfo的,对这种还有packet
的书我都敬而远之。不是不尊敬bioinfo,是搞bioinfo的教人编程感觉不太靠谱。就算
作者是CS背景,但在bioinfo领域编程,整个环境就不是个注重代码质量的环境。
我看重函数编程的是它减少全局性,函数行为完全可预测没有外部因素,把函数组合起
来更灵活,函数比类的粒度更小,灵活性表达力更强。
avatar
l*i
11
一个递签,一个面签也是同一个帐号吗
avatar
m*r
12
多谢回答。 这个作者写了三本书,都是关于R的, meta programming, OOP, 还有这本
。 欧洲人,写得可以说比较通俗易懂(比较而言),有时还有图形解释,没找到任何
语法,拼写错误,在这类书里面还是少有的。 反正比R文档强。
R这个东西初学者两大难点,1,每个函数有自己的环境,造个函数就造了个环境; 2.
就是把函数当参数传递。 1其实好理解,类似于local/global 变量; 2如果没有工具
看函数里面的东西,光凭脑子想,就太抽象了。 好比中学讲解什么是f(x), 定义就是
一句话,讲解集合是如何映射到另外一个集合的, 没人听得懂,听懂也不会用。 你得
多讲讲 y=3x , 再听不懂, 就得讲3乘2。
R所谓‘美丽’的地方就是很多代码直接书写f,g,h ,有种看数学书的感觉, ‘丑陋’
之处就她不给你看三乘二是如何实现的. 好比美女,不给你看丑陋的地方,总是让人不
过瘾。

packet

【在 d******c 的大作中提到】
: 加个browser(),那是个交互R shell,然后可以一步一步往前走看发生了什么,还可以
: 执行任何命令,检查任何内存变量。
: 另外我几乎没用过currying,觉得这东西在解决一个根本不重要的问题。
: 这本书是什么,amazon一个review都没有,作者是个搞bioinfo的,对这种还有packet
: 的书我都敬而远之。不是不尊敬bioinfo,是搞bioinfo的教人编程感觉不太靠谱。就算
: 作者是CS背景,但在bioinfo领域编程,整个环境就不是个注重代码质量的环境。
: 我看重函数编程的是它减少全局性,函数行为完全可预测没有外部因素,把函数组合起
: 来更灵活,函数比类的粒度更小,灵活性表达力更强。

avatar
s*t
13
re

【在 l****i 的大作中提到】
: 一个递签,一个面签也是同一个帐号吗
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。