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);
函数打印出来,也打不出来。 以前学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);
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
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
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.
步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.
n*7
8 楼
我写R的时候也有这个疑问,如何debug?
我记得Rstudio现在可以设置断点了吧
不过函数套函数的时候要怎么搞呢?
以前R的code一旦写多了,debug就是个噩梦
特别是要跑半个小时来reproduce某个bug。。
我记得Rstudio现在可以设置断点了吧
不过函数套函数的时候要怎么搞呢?
以前R的code一旦写多了,debug就是个噩梦
特别是要跑半个小时来reproduce某个bug。。
d*c
10 楼
加个browser(),那是个交互R shell,然后可以一步一步往前走看发生了什么,还可以
执行任何命令,检查任何内存变量。
另外我几乎没用过currying,觉得这东西在解决一个根本不重要的问题。
这本书是什么,amazon一个review都没有,作者是个搞bioinfo的,对这种还有packet
的书我都敬而远之。不是不尊敬bioinfo,是搞bioinfo的教人编程感觉不太靠谱。就算
作者是CS背景,但在bioinfo领域编程,整个环境就不是个注重代码质量的环境。
我看重函数编程的是它减少全局性,函数行为完全可预测没有外部因素,把函数组合起
来更灵活,函数比类的粒度更小,灵活性表达力更强。
执行任何命令,检查任何内存变量。
另外我几乎没用过currying,觉得这东西在解决一个根本不重要的问题。
这本书是什么,amazon一个review都没有,作者是个搞bioinfo的,对这种还有packet
的书我都敬而远之。不是不尊敬bioinfo,是搞bioinfo的教人编程感觉不太靠谱。就算
作者是CS背景,但在bioinfo领域编程,整个环境就不是个注重代码质量的环境。
我看重函数编程的是它减少全局性,函数行为完全可预测没有外部因素,把函数组合起
来更灵活,函数比类的粒度更小,灵活性表达力更强。
l*i
11 楼
一个递签,一个面签也是同一个帐号吗
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领域编程,整个环境就不是个注重代码质量的环境。
: 我看重函数编程的是它减少全局性,函数行为完全可预测没有外部因素,把函数组合起
: 来更灵活,函数比类的粒度更小,灵活性表达力更强。
。 欧洲人,写得可以说比较通俗易懂(比较而言),有时还有图形解释,没找到任何
语法,拼写错误,在这类书里面还是少有的。 反正比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领域编程,整个环境就不是个注重代码质量的环境。
: 我看重函数编程的是它减少全局性,函数行为完全可预测没有外部因素,把函数组合起
: 来更灵活,函数比类的粒度更小,灵活性表达力更强。
相关阅读
Keyboard binding for function keysprogram trap(s)中文翻译成什么最好?Help with a c++ const variableC怪问题一个how to login mitbbs with java code (转载)请问谁有IMSL library 5.0版本的什么Bayesian Networks的open source软件最经典?请大虾们推荐一本关于embedded real-time programming书Excel Control得问题weird outputboost and loki怎样在网页里嵌一个测量访问者网络带宽的功能?c++ 得最基本问题请推荐一本网络编程的入门书(c/c++)版主好像不管事呀c里从文件读数据,什么方法比较好?请教SQL大拿大虾别骂我,请推荐c++书关于在rotated sorted array中查找的问题问个问题,关于gdb的