标签: variable-assignment

陷入困境,你可以帮忙吗?

我目前正在编写一个从txt文件中读取记录的程序,并在屏幕上打印数据:

                       GRADE REPORT

NAME                COURSE                            GRADE
-----------------------------------------------------------
JOE FRITZ           AMERICAN GOVERNMENT                 B
                    CALCULUS I                          A
                    COMPUTER PROGRAMMING                B
                    ENGLISH COMPOSITION                 A
                    Total courses taken = 4

LANE SMITH          FUND. OF DATA PROCESSING            B
                    INTERMEDIATE SWIMMING               A
                    INTRO. TO BUSINESS                  C
                    Total courses taken = 3

JOHN SPITZ          CHOIR                               C
                    COLLEGE STATISTICS                  B
                    ENGLISH LITERATURE                  D
                    INTRO. TO BUSINESS                  B
                    Total courses taken = 4

Total courses taken by all students = 11

Run complete.  Press the Enter key to exit. …
Run Code Online (Sandbox Code Playgroud)

python variable-assignment

0
推荐指数
1
解决办法
607
查看次数

赋值运算符如何在Ruby中工作?

我在ruby中编写了一段简单的代码,但它并没有像我期望的那样工作.我认为这个问题来自于对ruby如何工作的误解,特别是相对于其他语言,赋值运算符的工作原理.这是我写的:

    @instance1 = @clock
    @clock.tick!
    @clock.tick!
    @clock.tick!
    @instance2 = @clock

    puts " instace1.seconds: #{@instance1.seconds}, instance2.seconds: #{@instance2.seconds}"
Run Code Online (Sandbox Code Playgroud)

'Clock'是一个类,有一个值,秒,一个方法'tick!' 它将秒增加1,方法'seconds'返回秒值.秒数被初始化为0.

现在,当我运行此代码时,输​​出为:"instace1.seconds:3,instance2.seconds:3"

但我期望的输出是:"instance1.seconds:0,instance2.seconds:3"

因为,我在更改时钟之前已经为intance分配了@clock所具有的值,之后我没有做任何修改@ instance1的事情.

对我来说,这意味着ruby在某些上下文中将对象指定为指针,并且存在隐式解除引用.这些背景是什么?(类变量?,大对象?)

如何明确分配?换句话说,我如何取消引用变量?

就像,在C中,我会做类似的事情:

*instance1 = *c
Run Code Online (Sandbox Code Playgroud)

(虽然从指针算术开始已经很长时间了,所以这是一个粗略的例子

ruby variable-assignment

0
推荐指数
1
解决办法
285
查看次数

如果放在操作数之后,++运算符返回原始值 - 如何?

据我所知,x++基本上是一种说法x = x + 1.到目前为止,这么清楚.在前端Javascript中,我偶尔会看到++x- 我似乎记得从jsPerf测试中我再也找不到了(一个Google如何++有效?)这在某个特定版本的IE中以某种方式获得了小的性能优势,并让它去那.

但是我最近遇到了一些在执行顺序(JS代码)中出现奇怪怪癖的东西:

var x = 1;
console.log(x++); // 1 (?!)
console.log(x);   // 2
Run Code Online (Sandbox Code Playgroud)

...而

var x = 1;
console.log(++x); // 2 (what I would've expected)
console.log(x);   // 2
Run Code Online (Sandbox Code Playgroud)

我无法理解这一点.当操作和赋值在括号内时,我们如何返回未修改的变量,因此在console.log调用之前应该执行所有权限,更不用说执行和返回了?

javascript operators execution variable-assignment order-of-execution

0
推荐指数
1
解决办法
134
查看次数

Java:修改和访问在构造函数中初始化的变量

我上课了.
我在该类的构造函数中初始化一个变量.
我调用一个包含while循环的方法,并每次递增变量.
我编写了一个测试来检查方法被调用后的变量值(并通过while循环一次).

public class ThreadGenerator implements Runnable {
  private int requests;
  private int limit;

  public ThreadGenerator() {
    requests = 0;
  }

  public void setRequestLimit(int anyLimit) {
    this.limit = anyLimit;
  }

  public void generateThread() {
    new Thread(this).start();
  }

  public void run() {
      while(requests < limit) {
          try {
              // do some stuff
              requests++;
              // close some stuff
          } catch (IOException e) {
            e.printStackTrace();
          }
      }
  }

  public int getRequests() {
      return requests; // calling this method from …
Run Code Online (Sandbox Code Playgroud)

java constructor scope variable-assignment

0
推荐指数
1
解决办法
1927
查看次数

Java条件检查和赋值

我正在寻找一种更有效的方法来执行以下操作,我将方法的返回值附加到数组.但是,如果返回为null,我想执行另一个操作而不是更改数组.

Object[] myVal = new Object[10];
Object temp;
temp = myFunction();
if(temp != null) {
    myVal[count++] = temp;
} else {
    System.Exit();
}
Run Code Online (Sandbox Code Playgroud)

我想在一个方法的返回值中指定一个变量,但是如果返回的值为null,则提供"内联"检查以执行另一个操作.

就像是:

myVal = (myFunction() != null) ? [output of expression]: System.Exit();
Run Code Online (Sandbox Code Playgroud)

有这样的方法吗?

java conditional variable-assignment

0
推荐指数
1
解决办法
872
查看次数

赋值从指针生成整数而没有强制转换警告

任何人都可以解释为什么以下代码会给出以下警告以及如何解决它?

warning: assignment makes integer from pointer without a cast [enabled by default]
Run Code Online (Sandbox Code Playgroud)

这是代码:

int tcp_socket(void)
{
    int s;

    if ((s = socket(PF_INET, SOCK_STREAM, 0)) == -1) {
        _logf(LOG_DEBUG, "LOG %s:%d (%s) - %s", __FILE__, __LINE__, __func__, "Error creating socket");
        return -1;
    }
    return s;       
}

int main(int argc, char **argv)
{
    int socket;
    socket = tcp_socket;
    if(socket == -1) {
        _logf(LOG_INFO, "LOG %s:%d (%s) - %s", __FILE__, __LINE__, __func__, "Error creating socket, exiting...");
        exit(-1);
    } 
}
Run Code Online (Sandbox Code Playgroud)

c pointers casting variable-assignment

0
推荐指数
1
解决办法
3397
查看次数

Trick C-compiler将整个结构分配给零,没有for-loop

我目前正在编写嵌入式操作系统的一小部分,我有时需要将大型结构中的所有变量分配给0.元素范围从uint8到uint64.到目前为止,我唯一能够工作的是循环遍历每种类型的变量,将每个变量分配给0,但这需要很多周期并且代码"丑陋".我在想是否有可能创建一个结构类型的指针,然后将指向的元素的值赋值为0,因为该元素应该具有sizeof(MyStruct)的大小?

要分配给0的结构:

struct AMD64Context{
uint8_t fp_context[512] __attribute__((alligned(16)));
uint64_t rax;
.... 
....
};
Run Code Online (Sandbox Code Playgroud)

c struct variable-assignment

0
推荐指数
1
解决办法
340
查看次数

赋值运算符 - 每个成员还是二进制副本?

我想知道,只要所有包含的赋值都没有副作用,除了将二进制值传递给地址,将源对象指针中的字节复制到目标而不是将每个目标成员分配给每个目标成员都不是更有效来源会员?

作为一个子问题...我想知道读取模式如何影响内存控制器负载.显然,当MC从正确对齐的地址读取其全宽时,它是最有效的.也许将所有成员合并为一系列最大宽数据类型以进行对齐会更有效,例如,如果MC为64位且成员数据集为10个字节,则复制64位和16位值,即使成员说10 char秒,所以复制这种方式会使MC比一次复制每个成员字符更好.

c++ copy binary-data variable-assignment

0
推荐指数
1
解决办法
246
查看次数

将`nil`分配给多个变量

我需要分配nil多个变量.我有:

a = nil
b = nil
c = nil
Run Code Online (Sandbox Code Playgroud)

哪种方法最有效?

ruby variable-assignment

0
推荐指数
1
解决办法
663
查看次数

在Rust中的for循环中不会分配字符串返回值

鉴于此代码段:

pub fn verse(start_bottles: i32) -> String {
    let mut song_template: String = "%1 of beer on the wall, %2 of beer.\n%3, %4 of beer on the wall.\n".to_string();

    match start_bottles {
        0 => lyrics_no_bottles(&mut song_template),
        1 => lyrics_one_bottle(&mut song_template),
        2 => lyrics_two_bottles(&mut song_template),
        _ => lyrics_more_bottles(&mut song_template, start_bottles)
    }
    song_template
}

pub fn sing(first: i32, last: i32) -> String {
    let mut song: String = "".to_string();
    for num in (8..6).rev() {
        song = verse(1);
    }
    song
}
Run Code Online (Sandbox Code Playgroud)

当我输出verse(1)它工作正常 …

string for-loop variable-assignment rust

0
推荐指数
1
解决办法
55
查看次数