Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在没有全局范围的情况下将方法添加到R列表中

在没有全局范围的情况下将方法添加到R列表中
EN

Stack Overflow用户
提问于 2018-03-24 11:16:59
回答 1查看 56关注 0票数 0

我想使用purrr::walk()将对象推到flifo堆栈上。循环工作正常,但我的walk()实现不能。

代码语言:javascript
运行
AI代码解释
复制
requireNamespace("flifo")

cards       <- letters[1:5]
deck_loop   <- flifo::fifo()
deck_purrr  <- flifo::fifo()

# Looping works correctly   
for( card in cards ) {
  flifo::push(deck_loop, card)
}
message("Deck size: ", as.integer(flifo::size(deck_loop) / 96), " cards")
# Returns: "Deck size: 5 cards"

# This version of calling purrr::walk() doesn't work.
purrr::walk(cards, function(card) flifo::push(deck_purrr, card))
message("Deck size: ", as.integer(flifo::size(deck_purrr) / 96), " cards")
# Returns: "Deck size: 0 cards"

我认为这个问题与fifo 使用列表如何保存对象和push()有关。在第三个函数中,除非使用全局赋值l3,否则不会修改<<-deck_purr的环境有什么窍门吗?

代码语言:javascript
运行
AI代码解释
复制
l3 <- list()
fx3 <- function(a) {
  # l3[[length(l3) + 1L]] <- a # Won't work b/c it's not a global assignment
  l3[[length(l3) + 1L]] <<- a
}
purrr::walk(11:15, function( x ) fx3(x))

顺便说一句,重栈包 (它没有实现LIFO堆栈)没有这个问题;我猜想这是因为它的R6内件处理堆栈的内部列表的作用域不同。

代码语言:javascript
运行
AI代码解释
复制
deck_rstack  <- rstack::stack$new()
purrr::walk(cards, function(card) deck_rstack$push(card))
message("Deck size: ", deck_rstack$size(), " cards")

2018年7月编辑: flifo开发人员在https://github.com/paulponcet/flifo/issues/1中解决了这个问题。

EN

回答 1

Stack Overflow用户

发布于 2018-03-24 15:30:03

查克人包支持FIFO并使用purrr::walk()加载各个元素。pushback()方法正在下面有C指针周围移动这些元素。

代码语言:javascript
运行
AI代码解释
复制
deck_dequer <- dequer::queue()
purrr::walk(cards, function(card) dequer::pushback(deck_dequer, card))
message("Deck size: ", length(deck_dequer), " cards")

虽然这解决了FIFO结构的具体情况,但我仍然很好奇,如果purrr::walk()可以像一个带有堆栈元素的顶级for()循环那样,那么是否有一个更大的原始问题的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49468848

复制
相关文章
node表单提交POST提交
前几天给大家介绍了使用node的提交(get)获取到表单提交的内容,get提交的参数查询部分(query)可以获得到,由于get提交的内容在url显示,而post提交处理机制,为了保障安全性不显示在url中,下面案例介绍下post提交案例!
十月梦想
2018/08/29
4.6K0
get和post表单提交
GET的提交方式,用户输入结果会显示在地址栏,安全性不好,地址栏提交数据大小限制2K。
十月梦想
2018/08/29
9830
get和post表单提交
js 模拟form表单post提交
场景: 需要提交数据,且数据处理后,会跳转页面。(注:数据提交需要post) 思路1: 1. 参考ajax提交数据,进行处理,处理成功后返回到客户端 2. 在客户端跳转页面 思路2: 使用form表格进行post提交 实现方法:需要创建一个form表格,且数据必须在form表格中,用Input表格元素存起来,效果如下:
用户9914333
2022/07/21
12.6K0
vue的form表单提交_axios提交表单
利用v-model能比较便捷地上传用户信息的数据,不用一个个参数地拼接。直接在data根据要传的字段定义一个对象,
全栈程序员站长
2022/11/10
7K0
form表单中带有文件上传,同时提交
前台JS(easyUI) function EditsubmitForm() { var father = $('#select_category').combobox('getValue'
唐怀瑟
2018/08/30
5.1K0
C#模拟POST表单提交 --- WebClient
WebClient:http://msdn.microsoft.com/zh-cn/library/system.net.webclient(v=VS.80).aspx(MSDN) 代码: string postString = "arg1=a&arg2=b";//这里即为传递的参数,可以用工具抓包分析,也可以自己分析,主要是form里面每一个name都要加进来 byte[] postData = Encoding.UTF8.GetBytes(postString);//编码,尤其是汉字,事先要看下抓取
磊哥
2018/05/08
1.9K0
java表单提交方法_表单提交的几种方式[通俗易懂]
说明:用户提交按钮或图像按钮时,就会提交表单。使用或都可以定义提交按钮,只要将其特性的值设置为“submit”即可,而图像按钮则是通过的type特性值设置为”image”来定义的。因此,只要我们单击一下代码生成的按钮,就可以提交表单。
全栈程序员站长
2022/09/30
5.4K0
表单提交原理_防止表单重复提交
<form>标签的属性enctype设置以何种编码方式提交表单数据。可选的值有三个:
全栈程序员站长
2022/11/08
5.7K0
表单提交
在html中经常用到<form>标签。而我们在使用过程会经常这样用<input name=”sub” type=”submit” value=”提交” /> 也就是说当我们点击提交的时候会执行<form action=”file.php” method=”get” id=”se” name=”se”>action的动作(例子是提交到file.php页面)方法是get。 当没有提交按钮时而是用一个热图加onclick属性来完成,我们可以这样用 <form id=”search” name=”search”
苦咖啡
2018/05/07
4.7K0
form实现表单提交的各种方法(表单提交源码)
这种方法实际上是调用了一个javascript函数,使用javacript函数来提交表单,方法就非常多非常灵活了,比如可以把它加入到任意一个标签的onclick事件中:
全栈程序员站长
2022/08/01
5.9K0
js form表单提交(jsp form表单提交方式)
最近工作比较忙,着急上线,写个简单的东西吧 url为你要提交的地址 params 为你提交的参数
全栈程序员站长
2022/07/30
15.4K0
Java模拟表单post提交,可支持图片上传
/** * 模拟表单post * * @param textMap 文本域 * @param fileMap 文件 * */ public static String postForm(String urlStr, Map<String, String> textMap, Map<String, String> fileMap) throws IOException { String res = ""; HttpURLConnection conn = null; In
用户1503405
2021/09/23
1.3K0
html获取表单提交数据_提交表单的两种方法
转载于:https://blog.csdn.net/yongwoozzang/article/details/83029128
全栈程序员站长
2022/11/08
2.8K0
c#以POST方式模拟提交表单
这是我一年前写的一个用C#模拟以POST方式提交表单的代码,现在记录在下面,以免忘记咯。那时候刚学C#~忽忽。。很生疏。。代码看上去也很幼稚 臃肿不堪 #region 内容添加函数(Contentinsert)      public string Contentinsert(string bookID, string bookTitle, string bookContent,string taskUrl,string Ztagend)      {                 string uriS
庞小明
2018/03/29
2.3K0
异步提交表单_js异步提交表单并回调
所谓异步提交表单,就是不再使用表单的提交按钮实现表单的提交功能,而是通过Ajax异步交互方式实现表单提交。具体实现步骤如下:
全栈程序员站长
2022/11/17
12.2K0
异步提交表单_js异步提交表单并回调
jsp表单的批量提交
如果数据量不大可以这样直接提交,如果数据一旦超过几十条那么会造成页面卡顿,同时ie会提示“此脚本运行时间过长,是否终止”,一旦点击是,那么表单就无法直接提交了;
西门呀在吹雪
2020/11/09
1.5K0
jsp表单的批量提交
html表单提交
1、只能为input、textarea、select三类类型的标签。只有这些标签用户才可能修改值,<label>、<p>、<font>等标签仅供显示用,没有提交到服务器的必要。当input=submit的时候,只有被点击的按钮的value才会被提交;
tandaxia
2018/09/27
5.8K0
django表单提交
HTML表单是网站交互性的经典方式。 本章将介绍如何用Django对用户提交的表单数据进行处理。
py3study
2018/08/03
4.2K0
回车提交表单
我们在页面开发中经常会写一些表单,但身为一个懒人,肯定是懒得点提交按钮的,我一般直接按回车提交
阿超
2022/08/17
4.3K0
点击加载更多

相似问题

PHP使用jQuery .post()提交带有多个提交按钮的表单

32

带有angularjs复选框的提交表单

11

提交带有ng的表单-提交和触发同步的post请求

33

使用AJAX提交带有POST/GET的表单

23

使用jQuery提交带有post vars的表单

27
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档