小编tad*_*man的帖子

ruby:无法理解内存地址

当我研究 clone vs dup 时,我尝试复制一个如下所示的对象:

a = {'key1' => 1, 'key2' => {'key3' => 3, 'key4' => 4}}.freeze
b = a.clone
c = a.dup

a['key1'] = 32
# => RuntimeError: can't modify frozen Hash

b['key1'] = 32
# => RuntimeError: can't modify frozen Hash

c['key1'] = 32
# => 32
Run Code Online (Sandbox Code Playgroud)

大写结果是,a 和 b 值共享内存,但是当我检查变量 object_id 时,它返回不同的结果:

a.object_id ## original
=> 70219554622880
b.object_id ## clone
=> 70219554589820
Run Code Online (Sandbox Code Playgroud)

但在哈希键 object_id 中是相同的。

a['key1'].object_id ## original
=> 3
b['key1'].object_id ## clone
=> 3
c['key1'].object_id …
Run Code Online (Sandbox Code Playgroud)

ruby

3
推荐指数
1
解决办法
64
查看次数

如何确定 C 程序中的可用堆内存

我想编写一个程序,每秒分配一些内存块,然后写出剩余的内存量(我故意不释放任何内存,因为实际用例是模拟内存不足的情况)。这是程序(针对Linux):

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>

int main() {
    size_t mbs = 500 * 1000000; // 500mb

    while(true) {
        sleep(1);

        void* tmp = malloc(mbs);

        system("free");
    }
    
    return 0;
}

Run Code Online (Sandbox Code Playgroud)

系统调用free列出了可用内存,我预计可用内存每秒会减少我尝试分配的 500mb,但是从下面的前几行输出中可以看出,可用内存并没有减少发生了重大变化(在 32GB 左右的 RAM 中,可用内存徘徊在 25GB 左右)。我也尝试过较低的数量,10mb 和 100mb,但行为是相同的。因此,在这个特定的输出中,到第 8 次免费时,我预计已经使用了 8GB 的​​ RAM:

user@DESKTOP-DAGF175:/Projects/tmp$ g++ main.cpp
user@DESKTOP-DAGF175:/Projects/tmp$ ./a.out
              total        used        free      shared  buff/cache   available
Mem:       33471660     7338384    25903924       17720      229352    25999544
Swap:       8192000           0     8192000
              total        used        free      shared  buff/cache   available
Mem:       33471660     7330684 …
Run Code Online (Sandbox Code Playgroud)

c linux memory malloc

3
推荐指数
1
解决办法
122
查看次数

MySQL内联if语句

我有一个查询,从一个表中选择项目的名称,描述,日期等.该表有一个名为"archived"的字段.如果存档字段中的行为1,则表示存档.

我目前在这里使用此代码来显示我的项目列表,无论它是否已存档:

<?php
        // Request the text for zz
        $result = @mysql_query("SELECT oc_sysitem,oc_item,oc_itemdesc,oc_genre,oc_star,oc_alttxt,oc_iearchived,oc_url FROM catalog WHERE oc_sysitem LIKE('zz') ORDER BY oc_sysitem DESC, oc_item, oc_setnum +0 ASC");

        if (!$result) {
            exit('<p>Error performing query: ' . mysql_error() . '</p>');
        }
        //creating the table w/ headers
        echo '
        <table cellpadding="3px">
        <tr>
            <td style="width:360px;font-weight:bold"><p>Title</p></td>
            <td style="width:90px;font-weight:bold"><p>Genre</p></td>
            <td style="width:70px;font-weight:bold"><p>System</p></td>
            <td style="width:51px;font-weight:bold"><p>Rating</p></td>
        </tr>';     
        // Display each zz
        while ($row = mysql_fetch_array($result)) {
        echo '
        <tr title="' . $row['oc_item'] . ' ' . $row['oc_itemdesc'] . ', ' …
Run Code Online (Sandbox Code Playgroud)

php mysql

2
推荐指数
2
解决办法
5164
查看次数

PHP格式日期

如何强制输出日期格式:

12/12/2012,1/10/2012,1/5/2012

代替

12/12/2012,01/10/2012,01/05/2012?

我的代码如下:

$adatefrom = date_create($_POST['datefrom']);
$adateto = date_create($_POST['adateto']);
$adatefrom = date_format($adatefrom, 'd/m/Y');
$adateto = date_format($adateto, 'd/m/Y');
Run Code Online (Sandbox Code Playgroud)

请注意我必须在发布之后格式化日期.

php format date date-format

2
推荐指数
1
解决办法
6494
查看次数

mysql插入查询,自动增量字段出现问题

这是我的查询

INSERT INTO faq (order, heading, content)
VALUES ('$_POST[order]','$_POST[heading]','$_POST[content]')
Run Code Online (Sandbox Code Playgroud)

我在调用ID之前有一个字段,我设置为自动增量和INT

我收到此错误"错误:您的SQL语法中有错误;请查看与您的MySQL服务器版本对应的手册,以便在'order,heading,content'附近使用正确的语法VALUES('Order','Title', '内容')'在第1行"

是否有我遗漏的东西,如果ID字段不存在,它可以正常工作吗?

php mysql

2
推荐指数
1
解决办法
227
查看次数

SELECT WHERE id没有检索记录,没有显示任何内容

这段代码对我不起作用.我的list.php显示了所有成员.如果我点击编辑一行我转到我的update.php,它显示'update.php?id =#,我有一小段代码来显示始终正确的数字.但我无法显示人员信息.这就是我所拥有的

<?
    $id = $_GET['id'];
     echo "<print>" .$id."</print>";
    mysql_query("SET NAMES utf8"); 
    mysql_query("SET CHARACTER_SET utf8");
    header('Content-type: text/html;charset=utf-8');   
    $order = 'SELECT * FROM `person` WHERE `PersonID` = $id';  
    $result = mysql_query($order);
?>
Run Code Online (Sandbox Code Playgroud)

它应该在我的list.php中显示我的表中的人员信息,但没有显示出来?如果我替换'PersonID' = 1234为例如,我然后得到一些信息.为什么代码没有使用$id并放在后面'PersonID' = .

php mysql

2
推荐指数
1
解决办法
275
查看次数

如何在jQuery中保持DRY?

在jQuery中有一种方法可以保存常用的函数链以便稍后引用,以保持DRY编码风格吗?

例如,在以下代码中,我想引用链.closest('.row').closest('div').remove();:

$('#search-results .row .unsafe').closest('.row').closest('div').remove();
$('#search-results .warnings').closest('.row').closest('div').remove();
$('#search-results .textresults1:contains("Endpoint offline!")').closest('.row').closest('div').remove();
// lots more distinct selectors
Run Code Online (Sandbox Code Playgroud)

像这样的东西:

var bye = ".closest('.row').closest('div').remove()";

$('#search-results .row .unsafe').bye();
$('#search-results .warnings').bye();
$('#search-results .textresults1:contains("Endpoint offline!")').bye();
// more...
Run Code Online (Sandbox Code Playgroud)

我的问题仅涉及以这种方式重用函数链 - 即jQuery是否有一种方法来执行在变量中存储为字符串的函数链.我很欣赏任何代码示例都可以重写以避免需要,但这是一个不同的问题.我认为可能存在很多用于存储常用函数链的用例 - 例如,对于复杂的样式/动画例程.

[我知道可以修改第一个选择器以包含所有后续选择器,但是这样做是为了提高性能.#search-results包含成千上万<div>的,每个都有十几个元素.这样,模糊搜索最后完成(即松散文本匹配:contains),之前的选择器已经杀掉了几千行.此外,这个特定的代码取自我正在编写的Greasemonkey用户脚本,所以我没有选择直接在源,服务器端删除这些虚假结果 - 它不是我的服务器/网站]

javascript jquery method-chaining

2
推荐指数
1
解决办法
66
查看次数

Ruby on Rails中的可变语法

我正在浏览ruby on rails教程,但仍然对语法有些困惑。

class PostController < ApplicationController
    def index
        @posts = Post.all
    end

    def create
        @post = Post.new(post_params)
    end 

private
    def post_params
        params.require(:post).permit(:title, :body)
    end
end
Run Code Online (Sandbox Code Playgroud)

我来自javascript背景。

据我了解@posts@is变量是从Postmodels文件夹中的类实例化的。但是:post:均值的确切含义params是什么?它来自何处?它是什么?

ruby ruby-on-rails

2
推荐指数
1
解决办法
54
查看次数

Ruby:使用 ? 在 if 条件下

在 Ruby 中,使用“?”有什么区别?里面如果条件?

if object.property
Run Code Online (Sandbox Code Playgroud)

或者

if object.property?
Run Code Online (Sandbox Code Playgroud)

我在一个方法中发现了它们的用法,但不了解它们的区别

非常感谢

ruby

2
推荐指数
1
解决办法
53
查看次数

访问未声明的结构?

我有办法访问尚未声明的结构吗?

//Need to some how declare 'monitor' up here, with out moving 'monitor' above 'device'
//because both structs need to be able to access each others members

struct{
    int ID = 10;
    int Get__Monitor__ID(){
        return monitor.ID; //obvioulsly 'monitor' is not declared yet, therefore throws error and is not accessible
    }
} device;

struct{
    int ID = 6;
    int Get__Device__ID(){
        return device.ID; //because 'device' is declared above this struct, the ID member is accessible
    }
} monitor;
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
60
查看次数