我偶尔会发现将R对象的打印表示形式作为字符串(如Python的repr
函数或Lisp)是有用的prin1-to-string
.R中是否存在这样的功能?我不需要它来处理复杂或奇怪的对象,只需要简单的向量和列表.
编辑:我想要在控制台中键入的字符串生成一个相同的对象,而不是输出print(object)
.
我最近正在接受Java Developer的职位面试.我接到了一个任务:想一个用Java表示电路(如下图所示)的好方法.
图片为http://oi40.tinypic.com/nnr4wj.jpgg
电路是逻辑门XOR,AND,OR等的组合.每个门有两个输入端口和一个输出端口.每个输出连接到另一个门的输入,该门一直连接到更高的门(如图所示).使系统简单,不允许循环(尽管现实生活中的电路可以使用它们).我被要求考虑使用以下指南在Java中表示此模型的好方法:
我选择将系统设计成一棵树,面试官告诉我这是一个不错的选择.然后我构建这些类:
节点
public class gate_node {
gate_node right_c,left_c;
Oprtator op;
int value;
int right_v,left_v;
public gate_node(gate_node right,gate_node left,Oprtator op){
this.left_c=left;
this.right_c=right;
this.op=op;
right_v=left_v=0;
}
}
Run Code Online (Sandbox Code Playgroud)
树
public class tree {
gate_node head;
tree(gate_node head) {
this.head = head;
}
void go_right() {
head = head.right_c;
}
void go_left() {
head = head.left_c;
}
static int arr[] = { 0, 0, 1, 0 };
static int counter=0;
static int compute(gate_node head) {
if …
Run Code Online (Sandbox Code Playgroud) 可能重复:
是否有printf转换器以二进制格式打印?
还在学习C和我在想:
给定一个数字,是否可以执行以下操作?
char a = 5;
printf("binary representation of a = %b",a);
> 101
Run Code Online (Sandbox Code Playgroud)
或者我是否必须编写自己的方法来转换为二进制?
我正在寻找一个脚本来生成您看到的目录结构的图形化文本表示.我能像这样运行的东西:
james@computer:/.../basedir$ listdir .
basedir
|-firstsubdir
| |-file
| `-subsubdir
| |-file1
| |-file2
| |-file3
| `-file4
`-secondsubdir
james@computer:/.../basedir$
Run Code Online (Sandbox Code Playgroud)
据推测,存在一个既定的脚本?我必须写吗?
我需要将此文本文件的第三列作为十六进制字符串加载
http://www.netmite.com/android/mydroid/1.6/external/skia/emoji/gmojiraw.txt
>>> open('gmojiraw.txt').read().split('\n')[0].split('\t')[2]
'\\xF3\\xBE\\x80\\x80'
Run Code Online (Sandbox Code Playgroud)
我如何打开文件,以便我可以将第三列作为十六进制字符串:
'\xF3\xBE\x80\x80'
Run Code Online (Sandbox Code Playgroud)
我也试过二进制模式和十六进制模式,没有成功.
我有一个C++项目.我在这个项目上工作,自学了如何用C++构建一个半现实的程序.它从网站递归下载内容.
每次下载都有一个用于下载内容的URL,以及引用者的URL(或从中提取内容的页面的URL).
总是有一个推荐人,除非它是第一个URL.我一直在作弊,只是将第一个URL视为自己的推荐人.我最近更改了URL类,使其具有空白(或空)表示.这感觉就像一个黑客.
有没有办法用C++表示可选对象而不用:
假设您有一个很好的归纳定义,并且您希望将其定义为Haskell中的数据类型.然而,你的归纳定义是(正如许多归纳定义所述)这样一种形式,即生成规则要求它们的"前提"具有某种结构.例如,假设我们有以下定义:
x
是一个偶数,那么T x
就是武器,x
是一个奇数,那么S x
就是武器.如果我想在Haskell中定义这个(作为单个)数据类型,我会写类似的东西
data Weapon = T Int | S Int
Run Code Online (Sandbox Code Playgroud)
显然,这是行不通的,你现在就可以生成T 5
和S 4
,例如.是否有一种自然的方式来传递对构造函数参数的限制,以便我可以编写类似于上面代码的东西来给出正确的定义?
我正在设计一个REST API,尽管在拖拽了一些最佳实践指南,但我找不到很多与处理从a返回的相同表示结构所需的表示结构之间的差异的最佳实践有关.POST
GET
GET
对于虚拟user
表示可能如下所示:
{
"id": 1234,
"created": "2012-04-23T18:25:43.511Z",
"username": "johndoe@example.com",
"name": "John Doe"
}
Run Code Online (Sandbox Code Playgroud)
但是,POST
对于相同的虚拟user
表示,不能指定某些属性(即id
和created
):
{
"username": "johndoe@example.com",
"name": "John Doe"
}
Run Code Online (Sandbox Code Playgroud)
显然,这是一个过于简化的示例,但鉴于用户无法指定某些字段(并且可能并不总是明显哪些字段与应用的方法相关),最佳做法是为每个字段创建单独的表示或期望最完整的版本并在服务器上透明地处理数据差异?
尽管明显易于使用单一表示并处理差异服务器端,但我担心如果不清楚可以指定哪些值(或使用PUT
例如更改),这对用户来说将是一种糟糕的体验.如果趋势是创建单独的表示,是否有应用于表示定义的命名约定?
例如,i_user
对于传入用户和o_user
传出用户.或user_full
和user_min
或user
和.user
等.
更新:我过于简化的示例可能没有正确说明问题.想象一下具有50个属性的表示(例如服务器表示及其所有监视属性--cpu,ram,temp,storage_drive_a,storage_drive_b,file_permission等).在这50个属性中,30个是只读属性,其中20个是值可以设定.
这是一个常见的Lisp数据表示问题。
代表语法的好方法是什么?“好的”是指表示简单,易于理解的表示形式,并且我可以在表示形式上进行操作而不必大惊小怪。表示不必特别有效;其他属性(简单,可理解,可处理)对我来说更重要。
这是一个示例语法:
Session ? Facts Question
Session ? ( Session ) Session
Facts ? Fact Facts
Facts ? ?
Fact ? ! STRING
Question ? ? STRING
Run Code Online (Sandbox Code Playgroud)
表示形式应允许对表示形式进行操作的代码易于区分终端符号和非终端符号。
非终端符号: Session, Facts, Fact, Question
端子符号: (, ), ?, !, ?
这种特殊的语法使用括号符号,这与Common Lisp使用括号符号相冲突。有什么好的方法来解决这个问题?
我希望我的代码能够识别空字符串的符号?。代表空字符串的符号的好方法是什么??
我希望我的代码能够区分语法规则的左侧和右侧。
以下是我要对表示形式执行的一些常见操作。
考虑以下规则:
A ? u1u2...un
Run Code Online (Sandbox Code Playgroud)
操作:我想获得语法规则右侧的第一个符号。然后我想知道:这是一个终端符号吗?是?符号吗?如果它是一个非结束符号,那么我想获得其语法规则。
所有 Lisp 开发人员似乎都知道什么是 S 表达式。但有人能为非 Lisp 开发者解释一下这一点吗?
已经有一个维基百科条目(https://en.wikipedia.org/wiki/S-expression)。但如果您不想深入了解细节,那么这并没有多大帮助。
什么是 S 表达式?我可以用 S-Expression 表达什么?Lisp 通常使用 S 表达式的目的是什么?S 表达式只与 Lisp 开发人员相关吗?